CS202: Important
Due Dates
Winter
2018
(The following dates are subject to change!)
Program Number |
Assignment Description |
Due Date |
Late Date |
Due Time |
Program #1 |
Design
and UML Diagram[1] |
Fri 1/19 |
Wed 1/24 |
6pm |
Program #1 |
Program[2] |
Fri 1/26 |
Wed 1/31 |
6pm |
Program #2 |
Program2 |
Fri 2/2 |
Wed 2/7 |
6pm |
Program #3 |
Design
and UML Diagram1 |
Fri 2/9 |
Wed 2/14 |
6pm |
Program #3 |
Program2 |
Fri 2/16 |
Wed 2/21 |
6pm |
Programs #4-5 |
Design
and UML Diagram1 |
Fri 2/23 |
Wed 2/28 |
6pm |
Program #4 |
Program2 |
Fri 3/2 |
Wed 3/7 |
6pm |
Program #5 |
Program2 |
Fri 3/16 |
No Late
Program #5 |
6pm |
Term Paper |
OO Term
Paper (4-7 pages) |
Mon 3/19 |
None |
6pm |
Quiz or Exam # |
Topics |
Date |
Time |
Quiz #1 |
|
Thursday 2/1 |
In-class (50 min) |
Midterm Exam |
|
Tuesday 2/6 |
In-class (1 hr 50
min) |
Quiz #2 |
|
Tuesday 3/13 |
In-class (50 min) |
Final Exam |
|
Tuesday
3/20 |
5:30pm-7:20 |
CS202: Course
Outline: Lecture and Lab
Winter
2018
(The following dates are subject to change!)
Week: Topic: Reading/Projects:
Week #1: Introduction
1/9 Introduction **Login to D2L
Objectives for the course **Get a CS Account
(For a Review of C++
Discuss
expectations examine Prata Ch 1-8)
Review Outline
Week #1: Object Oriented Design: Concept
What is Object Oriented Design?
Examples of how Abstraction
can help
Identifying and Assigning
Responsibilities
Determining Collaborations and
Identifying their Purpose
Examining Relationships
between Classes
Implementing the Design: Terminology &
Concept
Inheritance
Polymorphism
Measuring the Quality of the
Design
Alternatives?
Common Design Flaws
Week #1 Lab Session: By Lab#1 Get a CS Account (prior to your first lab!) Linux Lab #1 For students new to PSU: Putting the pieces together of a
C++ Program Linux Level #3.1 vim
Tips Students who have not completed the linux
& vim exercises from
CS162 and CS163 must start with Level #1 and 2 CS202 Lab #1
Getting Started with OO Concepts Read the background information
prior to attending lab Learn about UML
Diagrams There are NO Prelab
Exercises for the first lab! ·
If
you cant complete the entire lab, consider attending a makeup session ·
Complete
the self-check quiz in the CS202 lab manual after you have finished the lab!
Remember to work on the self-check quiz as closed-book, closed notes! |
Advanced
C++ Concepts: Inheritance and Copy Constructors
Week: Topic: Reading/Projects:
Week #2
1/16,
1/18 Topic #2 Remember C++... Lecture Notes #1
Data Abstraction vs. Prata
Chapter 10
Object Oriented Programming
Topic
#3 Introduction to Inheritance Prata
Chapters 13-14
Terminology,
Single Inheritance
Multiple and Virtual
Inheritance Lecture Notes #5, 6
Copy
Constructors
Week #2 Lab Session: Bring
completed Prelab Exercise!
Linux Exercise #3.2
vim Tips
CS202 Lab #2 Inheritance
·
Bring
your two Lab books and have the CS202 Lab #2 Pre-Lab exercises completed!
· Remember
to read the background information before attending lab
· In
review, pay close attention to the Linux exercises #1.4 and 1.5 on backing up
and archiving
· Complete the self-check quiz in the
CS202 lab manual after you have finished the lab! Remember to work on the
self-check quiz as closed-book, closed notes!
· Bring
your Pre-Lab exercise completed!
· Examine
design methodologies
· Building an employee OO program for a
local department store
Advanced
C++ Concepts: Dynamic Binding
Week: Topic: Reading/Projects:
Week #3
1/23,
1/25 Topic #4 Dynamic
Binding, Prata
Chapter 13
Run
Time Type Identification
Lecture
Notes #7
Week #3 Lab Session: Bring
completed Prelab Exercise!
Linux Exercise #3.3
File Types and Permissions
CS202 Lab #3 Dynamic Binding
·
Bring
your Pre-Lab exercise completed!
· Implement solutions using dynamic binding
· Complete the self-check quiz in the
CS202 lab manual after you have finished the lab! Remember to work on the
self-check quiz as closed-book, closed notes!
·
And,
remember to program every day!!
User
Defined Conversions and Exception Handling
Week: Topic: Reading/Projects:
Week #4
1/30,
2/1 Topic #4 User Defined ConversionsLecture Notes #8
Topic #5 Exception Handling Prata Chapter 15
Namespaces Prata Chapter 9
2/1 Quiz #1
Week #4 Lab Session: Bring
completed Prelab Exercise!
Linux Exercise #3.4
Utilities
CS202 Lab #4 Review Data Structures and Recursion
·
Bring
your Pre-Lab exercise completed!
·
Remember
to read the background information in the lab manual prior to completing the
prelab exercises
· Practice recursive solutions with linear, circular,
and doubly linked lists
·
Use
the self-check quiz after the lab is over to determine your level of
proficiency!
·
***
Pay particular attention to the CS202 CS Midterm Proficiency Demonstration
section
Building
User Defined Data Types
Week: Topic: Reading/Projects:
Week #5
2/8 Topic #6 C++ Dynamic Memory Issues
& Operator Overloading
Constructors allocating memory Lecture Notes #2
Destructors and Dynamic memory
The
Behavior of Objects
Constant Objects, Logical
Constness
Midterm Proficiency
Practice and Demonstrations
Demonstrations
are required to pass this class and are by appointment. Watch D2L mail for an appointment schedule.
Students will be
demonstrating C++, data structures, recursion, and gdb at the midterm
demonstration. All students should be fluent with either vi, vim, or emacs and
will be asked to demonstrate features of the editors such as navigation, search
and replace.
Week #5 Lab Session: Bring
completed Prelab Exercise!
Linux Exercise #3.5
Searching with grep
CS202 Lab #5 Exception Handling
·
Bring
your Pre-Lab exercise completed!
Building
User Defined Data Types: Introduction
Week: Topic: Reading/Projects:
Week #6
2/13,
2/15 Continue with Topic #6
Topic
#6 C++ Dynamic Memory Issues & Operator Overloading
Operator Overloading Prata Chapter
11
Rules,
Guidelines Lecture
Notes #3, 4
Rvalues, Modifiable Lvalues
Constant References
Constant Member Functions
Examples
Week #6 Lab Session: Bring
completed Prelab Exercise!
Linux Exercise #3.6
Make
CS202 Lab #6 Operator Overloading
· Bring
your Pre-Lab exercise completed!
· Experience operator overloading
The
Process of Learning other Programming Languages
Week: Topic:
Week #7
2/20,
2/22 Topic #8 Learning Programming Languages
Compare and contrast Java and C++
Discuss Garbage Collection
Discuss
References
Week #7 Lab Session: Bring
completed Prelab Exercise!
Install
an IDE prior to Lab!
Linux Exercise #3.7 Revison Control
CS202 Lab #7
IDE Tutorial
Begin Lab #8 Java Workshop
· Bring your Pre-lab exercise
completed!
· Begin the Java Workship( Lab 8)
· Aimed at first time IDE users
Object
Oriented Programming in Practice
Week: Topic:
Week #8
2/27,
3/1 Analyze OOP solutions
Examine OOP solutions and design
OOP alternatives in class
Group activities to investigate how to learn other
programming languages
Week #8 Lab Session: Bring
completed Lab #8 Prelab Exercise!
Linux Exercise #3.8
vim Preparation
Lab #8 Java Workshop
· Aimed at first time Java
programmers
· Students that already know Java should
assist other students
Preparation
for the Upper Division Classes
Week #9
3/6,
3/8 Topic #7 Friends, Nesting, Static Members Lecture
Notes #9
Template
Functions and Classes Lecture Notes #10, 11
Week #9 Lab Session:
Bring completed Lab #8 Prelab Exercise!
Linux Level #3 Self Check Exercises
CS202 Lab #9-Recursion in Java
· Bring your Pre-Lab exercise
completed!
· Review and Practice for the final
proficiency demonstration
Completion
of CS202!
Week #10
3/13,
3/15 Prepare for the Final Exam
Review
3/13 Quiz #2
Week #10 Lab Session: Bring completed Prelab #9 and #10 Exercise!
CS202 Lab #10 BST Review
***Important to prepare for final
prof. Demos!
· Practice
for Proficiency demos
· Bring
your Pre-Lab exercise for the lab being made up
· Review
and Practice for the final proficiency demonstration
Finals
Week
Comprehensive Final
Exam:
· Final Exam: Tuesday March 20th
5:30pm-7:20pm*** Notice the time!
Final
Proficiency Demos take place
BY APPOINTMENT ONLY.
Final Proficiency Demonstrations take place by appointment during finals week.
All Testing Center exams must be completed by Tuesday March 20th and should be taken at the same time as the in-class students.
All Proficiency Demos must be
completed by Friday March 23rd