ECE 495K - Object-Oriented Scripting and Object-Oriented DesignLecture Hours: 3 Credits: 3
This is an experiential learning course.
Experimental Course Offered: Spring 2004
Unified modeling language. Use case analysis. Constructing conceptual models. System sequence diagrams. "Gang of Four" design patterns. Case studies. A brief overview of C++ and Java for systems programming languages. An overview of Perl and Python for scripting languages. Object-oriented programming with Pearl and Python. The notion of an object reference in Pearl and Python. Blessing object references in Perl. Inheritance and polymorphism with Perl and Python. Object persistence and other database programming issues for both systems programming languages and scripting languages.
- Advance Perl Programming, Sriram Srinivasan, O'Reilly, 1997, ISBN No. 1-56592-220-4.
- Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1994, ISBN No. 0-201-63361-2.
- Programming with Objects, A Comparative Presentation of Object-Oriented Programming with C++ and Java, A> C. Kak, John Wiley & Sons, 2003, ISBN No. 0-47126-852-6.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- a knowledge of the Unified Modeling Language for the conceptual design of object-oriented programs. [e,k]
- an ability to design object-oriented solutions to programming problems using previously developed "best practice" design components. [c,e,k]
- object-oriented programming with Perl and Python. [c,e,k]
- designing object-oriented software in Perl and Python for scripting languages and in C++ and Java for systems programming languages. [c,e,k]
- an ability to write object-oriented database programs in C++ and Java. [e,k]
- an ability to write object-oriented database programs in Perl and Python. [e,k]
- an ability to write object-oriented socket programs in C++ and Java. [e,k]
- an ability to write object-oriented socket programs in Perl and Python. [e,k]
|2||Software Development Process for Large OO Programs|
|3||Use Cases, Class, Interaction, Package, State, and Activity Diagrams|
|4-8||Overview of Perl and Python|
|9-16||Object-Oriented Programming with Perl and Python|
|26-32||Implementation of Design Patterns in C++ and Java|
|33-34||Implementation of Design Patterns in Perl and Python|
|35-36||OO for Network Programming|
|37-38||OO for Database Programming|
|39-42||Distributed OO programming|
Engineering Design Content:
Engineering Design Consideration(s):
ease of extending large software systems