Course Outline 

CS162: Introduction to Computer Science

Winter 2014

 

(the following outline is subject to change!)

 

WEEKS #1 and 2:

1/6-1/19         Watch Topic #1 Videos                                 

 

Date:   Topic:                                                                          Reading/Projects:

1/7      Topic #1                                                          *** Please read the syllabus ***

• Introduction: Syllabus, Objectives for the Course,  Malik: 1, Shk: 1

Class Introduction, and Review Outline.

 

1/9      Overview and/or Review of C++                           Malik: 2, 3

·      Structure of C++ Programs

·      C++ Statements

·      Data Types

·      Operators

Lab  #1 - Putting the pieces together of a C++ Program   By 1/10  – Get a CS Account

·      No Prelab Exercises for the first lab!

·      Demonstration: Using Unix, Editing and Compiling programs

·      Demonstration: connecting via PCs and MACs

·      Lab #1 is due for self-paced students the following Monday  1/13

1/14    Continue with C++ (Loops and Arrays)

                     • 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/16            Demonstration: Creating a complete program in C++

·      Explore C++ assignment statements, conditionals, and truth tables

·      Explore C++ arrays of characters

Lab  #2 – Topic #1 Getting Started

·      In-class students: Bring your Pre-Lab exercise completed!

·      Self-paced: Prelab and Lab are due the following Monday  1/20

·      Practice creating a C++ program using assignment statements, conditionals and truth tables

·      Gain experience with loops


WEEKS #3 and 4:

1/21-2/2         Watch Topic #2 Videos – Functions, Structures, External Files

           

1/23                Homework #1 Due    - Submit to the D2L Dropbox

           

Date:   Topic:                                                                          Reading/Projects:

1/21    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/23         Functions:

                        Demonstration: Designing using modularity

·         Demonstration: Writing programs using functions with arguments

·         Explore C++ functions, pass by reference, pass by value, and returning values

 

Lab #3 – Topic 1 - Arrays of Characters

·         In-class students: Bring your Pre-Lab exercise completed!

·         Self-paced: Prelab and Lab are due the following Monday  1/27

·         Practice C++ arrays of characters, creating, reading, manipulating

·         Gain experience with cstring and cctype libraries

1/28        Topic #2: Structures                                                                      Malik: 11, Shk: 3

·      What they are

·      How to create them

·      Working with arrays of structures

 

1/30         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

 

Lab #4 – Topic 2 - Modularity

·      In-class students: Bring your Pre-Lab exercise completed!

·      Self-paced: Prelab and Lab are due the following Monday  2/3

·      Practice: Writing programs using functions with arguments

·      Explore C++ functions, pass by reference, pass by value, and returning values

 


WEEKS #5 and 6:

2/3 – 2/16       Watch Topic #3 – Classes      

2/6      Homework #2 Due    - Submit to the D2L Dropbox

 

Date:   Topic:                                                                          Reading/Projects:

2/4      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/6            More on Classes

  Demonstration: Designing a system that uses classes and structs

·      Explore the C++ class construct

·      REVIEW for the Midterm Exam

 

Lab #5 – Topic 2 -  Structures and External Data Files

·      In-class students: Bring your Pre-Lab exercise completed!

·      Self-paced: Prelab and Lab are due the following Monday  2/10

·      Practice: Writing programs using structs

·      Explore C++ functions working with structs

·      Experience using external data files

 

2/11                Midterm Exam for in-class students

TBD                 Midterm Exam for online students (date/time announced during 3rd week)

 

2/13    Pointers and Dynamic Memory                                           Malik: 14

• Introduce pointer variables, memory allocation and deallocation

             • Examples manipulating pointers                                        Shk: 5.1-5.4

 

Lab #6 – Topic 3 -  Classes

·               In-class students: Bring your Pre-Lab exercise completed!

·               Self-paced: Prelab and Lab are due the following Monday  2/17

·               Experience building classes and member functions

 

Midterm Proficiency Demos

·               In-class lab students:  Midterm Proficiency Demos are available during lab time or by appointment

·               Self Paced: Make an appointment for your Midterm Proficiency Demo


WEEKS #7 and 8:

2/17-3/2         Watch Topic #4 – Part I Videos                    

2/20    Homework #3 Due    - Submit to the D2L Dropbox

 

Date:   Topic:                                                                          Reading/Projects:

 

2/18    Topic #4

            Dynamic Data Structures                                                      Malik: 18

• Review of Pointers and the new Operator 

• Pointer Arithmetic

 

2/20      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

 

Lab #7 – Topic 4 -  Intro to Linear Linked Lists

·         In-class students: Bring your Pre-Lab exercise completed!

·         Self-paced: Prelab and Lab are due the following Monday  2/24

·         Experience pointers and dynamic memory

·         Practice traversing linear linked lists

·         Continue exploring the use of classes

 

2/25    Topic #4 Continued

            Dynamic Data Structures                                         

• Insert and Removal Algorithms                              

                                                 

2/27    Dynamic Data Structures

• Demonstration: Inserting and Removal

• Explore writing functions to traverse and modify a linear linked list

 

 

  Lab #8 – Topic 4 - Manipulating Linear Linked Lists

·         In-class students: Bring your Pre-Lab exercise completed!

·         Self-paced: Prelab and Lab are due the following Monday  3/3

·         Building and removing from linear linked lists

·         Continue exploring the use of classes


WEEKS #9 and 10:

3/3-3/16         Watch Topic #4 – Part II Videos on LLL                                

 

3/6      Homework #4 Due    - Submit to the D2L Dropbox

 

Date:   Topic:                                                                          Reading/Projects:

3/4      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/6      Recursion and LLL: Practicing                                                          

• Demonstration: Recursion and LLL

• Explore writing recursive functions

 

Lab #9 – Topic 5 - Recursion

·         In-class students: Bring your Pre-Lab exercise completed!

·         Self-paced: Prelab and Lab are due the following Monday  3/10

·         Build recursion solutions

·         Practice Linear Linked lists

3/11    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/13    Prepare for the Final Exam  

           

Lab #10 – Prepare for Final Proficiency Demo

·         In-class students: Bring your Pre-Lab exercise completed!

·         Self-paced: Prelab and Lab are due the following Monday  3/17

·         Practice Linear Linked lists

3/14    Homework #5 Due    (turn in early)  for ***EXTRA CREDIT

3/20    Homework #5 Due    - Submit to the D2L Dropbox  ***NO LATE HOMEWORK #5’s

 

In-class Final Exam Time (Section 001):                   Thursday March 20th 10:15-12:05

Final Exam for online students                                 TBD (date/time announced during 7th week)

 

Final Proficiency Demonstrations take place by appointment during finals week. Read pdx email!