112 Computer Science II
Object-Oriented Programming and Data Structures
This is the second programming course in the required Computer
Science major sequence. It will cover
more advanced programming techniques (object oriented),
more advanced Unix concepts and fundamental data structures.
The language of instruction this semester will be primarily Java.
If time will allow and
without going into full depth,
there will be an independent unit (of 1-2 weeks) which
will expose you to another object-oriented programming language, C++.
There are weekly lab and homework assignments and
a final programming project, counting for 70% of the grade.
Two exams (midterm and final) will test mostly theoretical knowledge.
Contents
- Object-oriented programming in Java.
- Event-driven programming, basic GUI design (Graphical User Interface)
and basic 2-dimensional graphics in Java.
- Fundamental Data Structures:
- Stacks
- Queues
- Linked Lists
- Hash Tables
- Trees
- Graphs
- Searching and Sorting Algorithms
- More advanced programming techniques: recursion
- If time allows:
- Pointers, references and indirection in C++.
- Memory allocation in C++ versus Java
- Object oriented programming in C++. Makefiles.
Back to the
class home page
at
http://cs.smith.edu/~streinu/Teaching/Courses/112/home.html