Programming Systems

 

Fall 2009        CS202            Instructor: Karla Fant

 

 

Announcements

 

Karla's Office Hours on Thursday December 10th are 2:30-3:20, due to the final exam schedule. Office hours are in FAB 120-19.

 

·        NEW:   EXTRA CREDIT for turning in a Java Program by Monday Dec 7th. REGULAR CREDIT for Friday December 11th.

·        FRIDAY DECEMBER 11th IS THE LAST DAY you can turn in any programs (or papers)

·        For your Final Exam Schedule…Final Schedule 

·        You may turn in the term paper late for NO penalty

1.     The term paper should talk about your experience with object oriented programming

2.     Look back at your first progams. What made them object oriented? What wasn’t object oriented? If you had all of the time in the world, how could you have made a better object oriented design?

·        Programs #4 and 5 may be implemented in either order.

·        My office hours are every Tuesday and Thursday from 2-2:50pm in FAB 120-19 or by appointment.

·        These slides were presented by the Tutors and ACM on 10/2: Tutor Slides

 

 

TA Office Hours

 

TA’s are located at the round tables outside of FAB 120

 

TA Office Hours have been revised:

Randy Myers  rmyers@cs.pdx.edu   *** NEW for FINALS WEEK: ***                 

 

Mon   8:00 - Noon

Tue   8:00 - Noon

Wed   8:00 - Noon

Fri   3:30 - 6:30

 

 

Rashawn Knapp  knappr@cs.pdx.edu               

·        Tue: 2pm-6pm

·        Wed: 8am-12pm

·        Thu: 8am-12pm (canceled 11/26 - University holiday)

·        Fri: 9am-12pm (canceled 11/27 - University holiday)

 

Important Links to Use this Term

 

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

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

3.     Weekly lectures can be seen at: http://media.pdx.edu/

 

Handwritten Notes

 

Lecture 1 pdf's

Lecture 2 pdf's

Lecture 3 pdf's

Lecture 4 pdf's

Lecture 5 pdf's

Lecture 6 pdf's

 

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++, where we will work through example projects in both languages.

 

CS202 Course Slides

 

CS202 Course Lecture Notes

 

 

Fall 2009 Web Materials

 

The handouts and assignments for Fall 2009 are:

 

Syllabus:               CS202 Fall 09 Syllabus

Course Outline:     CS202 Fall 09 Course Outline

 

Style Sheets:          CS202 Fall 09 Style Sheet, C++ Style Requirements

Grading Criteria:   CS202 Fall 09 Grading Criteria

 

Program #1:          CS202 Fall 09 Program #1

Program #2:          CS202 Fall 09 Program #2

Program #3:          CS202 Fall 09 Program #3

Programs #4, 5:     CS202 Fall 09 Programs# 4 and #5

 

Sample Java Program (Not Object Oriented):      Non-OO java_sample

 

Sample OO Problems        OODesign Problems