Course
Outline Section
001 In-class
CS162:
Introduction to Computer Science
Winter
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!)
Date: Topic: Reading/Projects:
1/8 Topic #1 ***
Please read the syllabus ***
Introduction:
Syllabus, Objectives for the Course, Malik: 1, Shk: 1
Class
Introduction, and Review Outline.
1/10 Overview and/or Review of C++ Malik: 2, 3
· Structure of C++ Programs
· C++ Statements
· Data Types
· Operators
Labs - Putting the pieces together of a C++ Program
· Demonstration: Using Unix, Editing and Compiling programs
· Demonstration: Submitting files into D2L
By 1/15 Get a CS Account
Submit a
sample program to D2Ls dropbox and experiment with
submitting programs though this technique.
1/15
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
1/17 Demonstration: Creating a complete program in C++
· Explore C++ assignment statements, conditionals, and truth tables
· Explore C++ arrays of characters
1/22 Homework #1 Due - Submit to the D2L Dropbox
1/22 Topic
#2
Overview of C++ Functions Malik: 6, 7
· Prototypes vs. Function Definitions
· Pass by value, by reference, by const
· Passing fundamental types and arrays
1/24 Functions:
Demonstration: Designing using modularity
· Demonstration: Writing programs using functions with arguments
· Explore C++ functions, pass by reference, pass by value, and returning values
1/29 Topic #2: Structures Malik: 11, Shk: 3
·
What
they are
·
How
to create them
·
Working
with arrays of structures
1/31 External Files and Structs
Lecture: External Data Files
· Demonstration: Writing programs using structs and external files
· Explore C++ functions working with structs
· Experience external data files
2/5 Homework #2 Due - Submit to the D2L Dropbox
2/5 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
2/7 More on Classes
· Demonstration: Designing a system that uses classes and structs
· Explore the C++ class construct
·
REVIEW for the Midterm Exam
2/12 Midterm Exam
2/14 Pointers and Dynamic Memory Malik:
14
Introduce pointer variables, memory allocation and deallocation
Examples manipulating pointers Shk: 5.1-5.4
2/19 Topic #4
Dynamic
Data Structures Malik:
18
Review of Pointers and the new Operator
·
Pointer
Arithmetic
2/21 Homework #3 Due - Submit to the D2L Dropbox
2/21 Experience Pointers and Dynamic Memory
Introduction to Linked Lists Shk: 5.5-5.6
Demonstration: Using pointers and linked lists
Explore Classes and dynamic structures
2/26 Topic #4 Continued
Dynamic
Data Structures
Insert and Removal Algorithms
2/28 Dynamic Data Structures
Demonstration: Inserting and Removal
Explore writing functions to traverse and modify a linear linked list
3/5 Homework #4 Due - Submit to the D2L Dropbox
3/5 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
3/7 Explore Recursion
Work through examples of recursion in class using linked
lists
3/12 Recursion and LLL: Practicing
Demonstration: Recursion and LLL
Explore writing recursive functions
Prepare for the Final Exam
3/14 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.
3/15 Homework #5 Due - Submit to the D2L Dropbox ***NO LATE HOMEWORK #5s
Inclass
Final Exam Time (Section 001):
Comprehensive
Final Exam Tuesday March 19th
10:15-12:05