Apr 19, 2024  
2017-2018 Undergraduate Academic Catalog 
    
2017-2018 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CS 2510 - Introduction to Object-Oriented Programming

2 lecture hours 2 lab hours 3 credits
Course Description
This course introduces object-oriented programming to students who have experience in structured programming techniques. Particular emphasis is placed on the design and implementation of computer programs to solve problems encountered in engineering practice. Topics include introduction to object concepts, describing, declaring and developing user-defined classes and objects, constructors and destructors, abstraction, function overloading, inheritance, polymorphism, encapsulation, and operator overloading. A high-level computer language will be used to illustrate and implement the topics. The lab sessions of the course will be used to design software for engineering applications. (prereq: EE 1910  or EE 3910B , MA 137  or MA 225  or MA 1410H )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design computer software to solve engineering problems using object-oriented programming method
  • Create and use classes and objects
  • Apply encapsulation and information hiding in software design
  • Create and apply derived classes (inheritance)
  • Create and apply virtual functions (polymorphism)
  • Implement objects and classes in designing software for engineering applications

Prerequisites by Topic
  • Structured programming technique in high level general purpose computer language
  • Calculus for engineers including topics of differentiation and integration

Course Topics
  • Introduction (1 class)
  • I/O, assignment statements, arithmetic, logic, relational operators, arithmetic statements, control structure, looping techniques, arrays, user-defined functions (3 classes)
  • Classes and objects (4 classes)
  • Encapsulation and information hiding (1 class)
  • Operator overloading, virtual functions and polymorphism (3 classes)
  • Inheritance (3 classes)
  • Engineering examples and applications (2 classes)
  • Review (1 class)
  • Tests (2 classes)
  • Final examination (2 classes)

Laboratory Topics
  • Software design life cycle, program structure, data types, I/O statements, arithmetic statements, assignment statements, control structure and looping techniques (1 session 2 sessions)
  • Class and object development. Examples and discussions (6 sessions)
  • Project: Engineering applications (2 sessions)

Coordinator
Joerg Mossbrucker



Add to Portfolio (opens a new window)