Introduction to Computer Science I
fall term 2009-10
The course lays the conceptual foundation of object-oriented programming.
- delegation and contracts,
- encapsulation and API programming,
- aggregation and the collections framework, and
- inheritance and polymorphism,
all from the client's perspective.
It also covers language-specific topics such as
- control structures,
- and exception handling.
The coverage is done within the framework
of the software development process,
and emphasizes software engineering throughout.
Emphasis is placed on the development of theoretical concepts,
and the acquisition of intellectual and practical skills.
The course is intended for prospective computer science
and computer engineering majors with strong mathematical, analytical,
and language abilities.
Students who seek a quick exposure to applications or programming
might instead consider CSE-1520, CSE-1530, or CSE-1540.
Course exercises require problem solving, coding, program testing, and
analysis of results.
This course is demanding in terms of time; it requires
the student to put in many hours of work per week outside of lectures.