CS163: Due Dates
Winter
2018
(The following dates are
subject to change!)
Program Number |
Assignment
Description |
Due
Date |
Late
Date |
Due
Time |
Design
#1 |
Design & Test Plan[1] |
Wed 1/17 |
Mon 1/22 |
7pm |
Program
#1 |
Program[2] |
Wed 1/24 |
Mon 1/29 |
7pm |
Design
#2 |
Design and Test Plan1 |
Wed 1/31 |
Mon 2/5 |
7pm |
Program
#2 |
Program2 |
Wed 2/7 |
Mon 2/12 |
7pm |
Design
#3 |
Design and Test Plan1 |
Wed 2/14 |
Mon 2/19 |
7pm |
Program
#3 |
Program2 |
Wed 2/21 |
Mon 2/26 |
7pm |
Design
#4 |
Design and Test Plan1 |
Wed 2/28 |
Mon 3/5 |
7pm |
Program
#4 |
Program2 |
Wed 3/7 |
Mon 3/12 |
7pm |
Program
#5 |
Program2 (No Design and Test Plan) |
Fri 3/16 |
No Late Program #5 |
7pm |
Quiz
or Exam # |
Topics |
Date |
Time |
Quiz
#1 |
● Pointer Arithmetic ● ADTs ● Data Structures: LLL |
Tuesday 1/30 |
In-class (50 min) |
Midterm
Exam |
● Topics 1-5 ● Data Structures: LLL, CLL, DLL |
Tuesday 2/6 |
In-class (1 hr 50 min) |
Quiz
#2 |
● Recursion ● BST Traversal Algorithms and Coding |
Tuesday 3/6 |
In-class (50 min) |
Final
Exam |
● Comprehensive ● Topics 1-13 ● Data Structures: LLL, CLL, DLL, Arrays of LLL, BST |
Tuesday 3/20 |
10:15-12:05 |
CS163: Course Outline (6th
and 7th Editions of Carrano)
Winter
2018
(The following dates are
subject to change!)
Lecture and
Lab Content
WEEK
#1:
Date: Topic: Reading/Projects:
1/9, 1/11 Topic #1 ***
Please read the syllabus ***
• Introduction: Syllabus, Objectives for
the Course, Chapters 1 and 2
Class Introduction, and Review Outline. (Data Abstraction,
Classes and
• Overview
of what to expect for:
Recursion)
assignments, attendance, discussions, quizzes,
and examinations.
*** Make sure to practice Linear
Linked Lists and recursion from CS162 ***
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 #2.1 – Review vim Students who have not completed the linux
& vim exercises from
CS162 must start with Level #1 CS163 Lab #1 – Getting Started with LLL and Practicing Read the background information prior to attending lab There are NO Prelab Exercises for the first lab! ●
If you
can’t complete the entire lab, consider attending a makeup session; we grade the lab manuals on completeness,
relevance, and readability ●
Complete
the self-check quiz in the CS163 lab manual after you have finished the lab!
Remember to work on the self-check quiz as closed-book, closed notes! |
WEEK
#2:
Date: Topic: Reading/Projects:
1/16 • Topic #2
• Chapter 1 - Principles of Programming and
Software Engineering |
• Discuss Abstract data types, Classes in
C++, Class scope, and Information hiding |
• Review: Chapter 2 Recursion |
• Review: Data Abstraction through
Classes |
1/18 Topic #3 – Data Abstraction Chapters
3, 4, 5
•
Step through an example of an abstract data type using classes,
constructors, member functions. |
•
Quickly review the concepts of pointers, dereferencing, and
allocating/deallocating memory |
Week #2 Lab session: Bring completed Prelab Exercise!
Linux Exercise #2.2 – Backups and Archives
CS163 Lab #2 – Building ADTs
●
Bring your
two Lab books and have the CS163 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
● Experience ADTs using multiple classes with linear linked lists
● Complete the self-check quiz in the CS163 lab manual after you have finished the lab! Remember to work on the self-check quiz as closed-book, closed notes!
WEEK #3:
Date: Topic: Reading/Projects:
1/23
Topic #3 – Various implementations of List Abstractions
• Chapter 4 - Linked Lists |
• Chapter 5 - Recursion as a problem solving
technique |
• Algorithms for Simple Linked Lists: list
traversal, insertion, deletion |
•
Discuss array implementations versus linked list implementations of an
ordered list |
1/25 Topic #4 – Stack and Queue Abstract Data
Types Chapters 6, 7, 13.1, 13.2, 14.1
Stacks and Abstract Data Types
(Stacks and Queues) |
||||||||||||||||||||||
• Chapter 6 - Stacks |
||||||||||||||||||||||
• The stack as an example of an Abstract
Data Type in Program Development |
||||||||||||||||||||||
• ADT Stack Operations |
||||||||||||||||||||||
• Implementing Stacks using arrays |
||||||||||||||||||||||
• Implementing Stacks using dynamic memory |
||||||||||||||||||||||
|
||||||||||||||||||||||
Queues and Abstract Data Types |
||||||||||||||||||||||
• Chapter 13.1 and 14.1 - Queues |
||||||||||||||||||||||
•
The Abstract Data Type Queue |
||||||||||||||||||||||
• Implementations
of the ADT Queue Week #3 Lab session: Bring completed Prelab Exercise! Linux Exercise #2.3 – Search and Replace CS163 Lab #3 – Stacks and LLL
of Arrays ●
Bring
your Pre-Lab exercise completed! ● Implement Stack abstractions ● Implementation of a LLL of arrays ●
And,
remember to program every day!! WEEK
#4: Date: Topic: Reading/Projects:
|
Final Exam Time Tuesday
March 20th - 10:15-12:05
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