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 D2L’s 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 #5’s

 

            Inclass Final Exam Time (Section 001):

Comprehensive Final Exam               Tuesday March 19th 10:15-12:05