Programming Systems

 

Spring 2008            CS202             Instructor: Karla Fant

 

 

Announcements

·   The last two programs are listed below. You can implement them in either order.

 

·   Office hours are Wednesday 9-9:50 in FAB 120-19. Feel free to set up appointments for before class!

·   The tutor invasion slides presented on Monday April 7th can be found at: tutor invasion!

 

·   Requests were made regarding “Variable Number of Arguments” (ellipses) – here you go! Variable Number of Args Info

 

Important Links to Use this Term

 

1.      Frequent Our Home page: http://cs.pdx.edu/~karlaf/CS202_Spring08.html

2.      Weekly login to WebCT: http://psuonline.pdx.edu/

 

Course Goals

The primary goal in CS202 is to prepare students for programming in the upper division 3xx and 4xx level classes. To achieve this goal, CS202 focuses on three areas: object oriented programming, advanced C++, and Java.

 

The majority of the term is spent introducing students to object-oriented programming while learning advanced C++ syntax as well as Java syntax. Students will understand the difference between procedural abstraction and object oriented solutions. Students spend the term designing and programming with inheritance hierarchies, with the goal of solving problems efficiently: producing high quality, robust, maintainable as well as efficient object oriented solutions. This provides students with the chance to experience object oriented design and programming at the same time as becoming better acquainted with advanced data structures. C++ skills developed include:

·         Single, multiple, virtual inheritance

·         copy constructors

·         dynamic binding

·         function overloading

·         operator overloading

·         user defined type conversion

·         namespaces

·         exception handling

·         template introduction

 

Java skills developed include writing two programs using advanced data structures in Java with strict requirements to follow OOP guidelines – all data members private, no friendly access, and complete implementation of functions required to handle issues of deep versus shallow copies and compares. Students learn the relationship between the two languages and the similarity of Java’s references to pointers.

 

Then, the rest of the term compares Java to C++ and Perl, where we will work through example projects in both languages.

 

CS202 Course Slides

 

CS202 Course Lecture Notes

 

 

Spring 2008 Web Materials

 

The handouts and assignments for Spring 2008 are:

 

Syllabus:                CS202 Spring 08 Syllabus

Course Outline:     CS202 Spring 08 Course Outline

 

Style Sheets:         CS202 Spring 08 Style Sheet, C++ Style Requirements

Grading Criteria:   CS202 Spring 08 Grading Criteria

 

Program #1:           CS202 Spring 08 Program #1

Program #2:           CS202 Spring 08 Program #2

Program #3:           CS202 Spring 08 Program #3

Programs #4 and 5            CS202 Spring 08 Programs 4 and 5

Java (non-object oriented) example:         http://web.cecs.pdx.edu/~karlaf/java_sample/java_sample