| CSE 212 | Fundamentals of Computing II | (4-1-3) |
| | The focus in this course is on the abstraction, specification, and object-oriented design of computer programs. The student will learn to construct reliable, high-quality software, and will be deeply familiar with current notions of specification, design, and programming. Students will work on single programs and large multi-programmer projects. The emphasis is on modularity: how to get the modules right and how to organize a program as a collection of reliable components. The C++ and Eiffel programming languages are used as a vehicle for learning these concepts, even thought the techniques presented are language independent. Programming skills will be developed in an accompanying Laboratory section. |
| | |
| Text: |
Deitel, C++ How to Program, 4th, Prentice-Hall, , 2002, 0-13038-4747 |
| |
Dattatri, C++ Effective Object-Oriented Software Construction, 2nd, Prentice-Hall, , 1999, 0-13086-7691 |
| |
| References: |
| Faculty-in-Charge: |
Jesus A. Izaguirre |
| |
| Course Goals: | The goals of this course are 1) to improve student's abilities in program design, implementation, and testing, 2) develop habits of modular design of software components, and 3) introduce advanced concepts of object-oriented design. |
| Prerequisites: | CSE 211 |
| Co-requisites: | |
| | |
| Topics: | | Number of Lectures |
| |
Introduction | 1 |
| |
The road to object orientation | |
| |
Modularity and reusability | 2 |
| |
Abstract data types | 4 |
| |
Object-oriented techniques | |
| |
Classes and objects | 3 |
| |
Exceptions and design by contract | 3 |
| |
Inheritance and genericity | 5 |
| |
Testing and debugging | 2 |
| |
Object-oriented methodology | |
| |
Design patterns | 5 |
| |
Case studies | 4 |
| |
Object-oriented analysis | 2 |
| |
Object-oriented design | 2 |
| |
Advanced topics | |
| |
Concurrency and distribution | 2 |
| |
Object persistence and databases | 2 |
| |
Graphical interactive applications | 2 |
| | |
| Course Content: |
| | Engineering Design |
2.0 |
| | Engineering Science |
2.0 |
| Course Grading: |
| | Midterm Exam |
15 |
| | Final Exam |
20 |
| | Problem Sets (6) |
30 |
| | Group Project |
35 |
| | |
| | |
| Computer Usage: | The homework will involve programming assignments in the object-oriented programming languages C++ and Eiffel. |
| Laboratory Usage: | |
| Special Consideration: | None |