Course
Outline
CS163:
Data Structures
Fall
2013
Supplemental lecture videos will be
required and assigned during the term on a weekly basis. These videos will be
announced and posted on the D2L Course Content
(the following
outline is subject to change!)
WEEK #1:
10/1-10/6 Watch
Topic #1 and 2 Videos
Date: Topic: Reading/Projects:
10/1 Topic #1 ***
Please read the syllabus ***
• Introduction:
Syllabus, Objectives for the Course, Chapters
1 and 2
Class
Introduction, and Review Outline.
• Overview
of what to expect for:
assignments, attendance, discussions, online quizzes, and
examinations.
*** Make
sure to practice Linear Linked Lists and recursion from CS162 ***
10/3 • Topic #2
• Chapter 1 - Principles of
Programming and Software Engineering |
• Review: Chapter 2 Recursion |
|
• Review: Data Abstraction
through Classes |
• Discuss Abstract data types,
Classes in C++, Class scope, and Information hiding |
|
10/4 Lab 1 – Getting Started and Review (Optional)
·
Practicing Linear Linked Lists
Lab 2 –
Getting Started with Abstract Data Types
·
Building a Journal ADT
WEEK #2:
10/7-10/13 Watch
Topic #3 Videos
By 10/8 – Get a CS Account
Date: Topic: Reading/Projects:
10/8 Topic
#3 – Data Abstraction Chapters
3, 4, 5
• Chapter 3 - Data
Abstraction -- The Walls |
• 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 |
10/9
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 |
10/10 Lab 3 – Building an Ordered List Abstract
Data Type
·
In-class Lab: The pre-lab
worksheet must be brought to the lab to attend.
·
Self-Paced Lab: Submit
your pre-lab answers to D2L’s Dropbox
·
Implement an Ordered List
ADT
·
Implementation of a
flexible array (a LLL of arrays)
WEEK #3:
10/14-10/20 Watch
Topic #4 Videos
By 10/15 -
Program #1 is Due
Date: Topic: Reading/Projects:
10/15 Topic #4 – Stack and Queue Abstract Data Types Chapters 6, 7
|
Stacks
and Abstract Data Types |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
• 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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
10/1 10/17
Queues
and Abstract Data Types |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
• Chapter 7 - Queues |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
• The
Abstract Data Type Queue |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
• Implementations
of the ADT Queue 10/18 Lab 4 – Building Stack and Queue ADTs ·
In-class Lab: The
pre-lab worksheet must be brought to the lab to attend. ·
Self-Paced Lab: Submit
your pre-lab answers to D2L’s Dropbox ·
Implement Stack
and/or Queue abstractions WEEK #4: 10/21-10/27 Watch Topic #5 and 6 Videos Date: Topic: Reading/Projects:
WEEK #6: 11/4-11/10 Watch Topic #8 Videos 11/5 Midterm Exam for in-class
students TBD Midterm Exam for online students
(date/time announced during 3rd week) Date: Topic: Reading/Projects:
WEEK #7: 11/12-11/17 Watch Topic #9 Videos November 11th is a
Holiday – No Office Hours By 11/12
- Program #3 is Due Date: Topic: Reading/Projects:
11/21 – Topic #10 Continued on
Advanced Trees
11/22 Lab 8 – Balanced Trees ·
In-class Lab: The
pre-lab worksheet must be brought to the lab to attend. ·
Self-Paced Lab: Submit
your pre-lab answers to D2L’s Dropbox ·
Practice 2-3 Tree
Solutions Lab 9
– Advanced Trees (Optional) ·
Code 2-3-4 and
red-black Tree algorithms By 11/26 - Program #4 is Due 11/26 – Topic #11 – Graphs Chapter
13 Holiday on November
28th and November 29th – Thanksgiving *** PSU is Closed *** |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
WEEK #10:
11/25-12/6 Watch
Topic #11 and 12 Videos
Date: Topic: Reading/Projects:
12/3 Sorting Algorithms Chapter 9
•
• Chapter 9: Sorting:
Introduction and notation, insertion sort, selection sort, bubble sort |
• Shell sort |
• Mergesort
|
• Quicksort for contiguous
lists |
• Efficiency of Sorting
Algorithms |
12/5 Prepare for the Final Exam
12/6 Program #5 Due - Submit to the D2L Dropbox ***NO LATE HOMEWORK #5’s
In-class Final Exam
Time (Section 001): Thursday
December 12th 8am-9:50
Final Exam for online
students TBD
(date/time announced during 7th week)