Course
Outline
CS162:
Introduction to Computer Science
Summer
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:
Date: Topic: Reading/Projects:
6/27-7/3 Watch Topic #1 Videos
6/27 Topic #1 ***
Please read the syllabus ***
¥ Introduction:
Syllabus, Objectives for the Course, Malik: 1, Shk: 1
Class
Introduction, and Review Outline.
6/27 ¥ Overview and/or Review of C++ Malik: 2, 3
á Structure of C++ Programs
á C++ Statements
á Data Types
á Operators
¥ Putting the pieces together of a C++ Program
á Demonstration: Using Unix, Editing and Compiling programs
á Demonstration: Submitting files into D2L
6/27
¥ I/O,
Conditionals, Repetition, Arrays Malik: 4, 5, Shk:
2
á Branching Statements
á Loops and Relational Expressions
á I/O and formatting output
á Arrays, Strings, String I/O
á
By
7/2 Ð Get a CS Account
á
Submit a sample program to D2LÕs dropbox and experiment with submitting programs though this
technique.
WEEKS
#2 and 3:
Date: Topic: Reading/Projects:
7/7-7/11 Watch Topic #2 Videos Ð Functions,
Structures, External Files
7/4 Happy
4th of July!
PSU
is closed
7/9 Assignment
#1 Due (Homework & Program) - Submit to the D2L Dropbox
7/11 Topic
#2
Review C++ Functions
from Video Malik: 6, 7
á Prototypes vs. Function Definitions
á Pass by value, by reference, by const
á Passing fundamental types and arrays
¥ Review
from required videos: Functions
á
Demonstration:
Designing using modularity
á Demonstration: Writing programs using functions with arguments
á Explore C++ functions, pass by reference, pass by value, and returning values
7/11 Topic #2: Structures and
External Files Malik:
11, Shk: 3
á
What
they are
á
How
to create them
á
Working
with arrays of structures
WEEKS
#4 and 5:
Date: Topic: Reading/Projects:
7/14-7/18 Watch Topic #3 Ð Classes
7/18 Topic #3 C++ Class Construct, Data
Abstraction and Abstract Data Types
¥ Data Abstraction and Abstract Data
Types Malik: 12
¥ The C++ Class, Class versus Structs Shk: 4
¥ Class Constructors, Defining and
Using Functions and Classes.
¥ General discussion of the C++
Class and creating .h files
¥ Constructors
á Review from required videos: Classes
á Demonstration: Designing a system that uses classes and structs
á Explore the C++ class construct
7/18 Preview: Pointers and Dynamic
Memory Malik:
14
¥
Introduce pointer variables, memory allocation and deallocation
¥ Examples manipulating
pointers Shk: 5.1-5.4
7/19 Assignment #2 Due (Homework
& Program) - Submit
to the D2L Dropbox
7/21-7/25 Watch Topic #4 Ð Part I Videos
7/25 Topic #4
Dynamic
Data Structures Malik:
18
¥
Review of Pointers and the new Operator
¥
Introduction to Linked Lists Shk: 5.5-5.6
7/25 Midterm Quiz
WEEKS
#6 and 7:
Date: Topic: Reading/Projects:
7/28-8/8 Watch Topic #4 Ð Part II Videos on LLL
7/30 Assignment #3 Due (Homework
& Program) - Submit
to the D2L Dropbox
8/1 Preview: Topic #4
Continued
Dynamic Data Structures
á Review from required videos: Linear Linked Lists
á Demonstration: Using pointers and linked lists
á Explore Classes and dynamic structures
á Insert and Removal Algorithms
8/4-8/8 Watch Topic #5 - Recursion
8/8 Lecture: Topic #5 Recursion Malik: 17
Shk: 4.10, 6
¥ The Nature of Recursion, Tracing a Recursive
Function, Recursive Mathematical Functions, Recursive Functions with Array
Arguments
¥ Work through examples of recursion in class
¥ Problem
solving with Recursion
¥
Demonstration: Inserting and Removal
¥
Explore writing functions to traverse and modify a linear linked list
¥
Demonstration: Recursion and LLL
¥
Explore writing recursive functions
Prepare for the Final Exam
8/9 Assignment #4 Due
(Homework & Program)
- Submit to the D2L Dropbox
WEEK
#8:
Date: Topic: Reading/Projects:
8/11-8/15 Video: Topic #6 Arrays with Structured Elements
Malik:
9
¥ Arrays of Arrays:
Multidimensional Arrays, Shk: 8
Creating Arrays of Arrays, Arrays of
Structs, and Arrays of Class Elements.
8/16 Assignment #5 Due - Submit to the D2L Dropbox ***NO LATE HOMEWORK #5Õs
Final
Exam Time:
Comprehensive Final
Exam Thursday at 9:15-11:-05
Topic #4 Proficiency Demonstrations
must be completed on August 16th during lab
Students
may optionally complete the proficiency demo after their exam
The
Final Proficiency Demo is on Topic #4 Ð Linear Linked Lists