Course Outline  Section 002 ÒOnlineÓ

CS162: Introduction to Computer Science

Winter 2013

 

Lecture videos, due dates, and readings should follow this schedule!

 (the following outline is subject to change! All changes will be emailed to your pdx.edu email address

 

Week of:         Topic:                                                                          Reading/Projects:

Week #1

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

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

Class Introduction, and Review Outline.

 

                        ¥ 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

o   Demonstration: Using Unix, Editing and Compiling programs

o   Demonstration: Submitting files into D2L


Week #2

á         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

 

                    By the end of the second week, make sure you can create a complete program in C++ (on unix)

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

á         Explore C++ arrays of characters

 


Week #3

 

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

 

By the end of the third week, make sure you can create a complete program in C++ written with functions and arguments

¥        Be prepared to design using modularity

á         Write programs using functions with arguments

 


Week #4

 

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

á      What they are

á      How to create them

á      Working with arrays of structures

 

External Files and Structs

                    ¥  Lecture Video: External Data Files

á         Be prepared to write programs using structs and external files

á         Explore C++ functions working with structs

á         Experience external data files

 


Week #5

 

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

 

                  More on Classes

á         Practice with classes and attempt to design a system that uses classes and structs

á         Explore the C++ class construct

á         Watch for email about REVIEW for the Midterm Exam

 


Week #6

 

2/12    In-class (Section 001) Midterm Exam    *** Online exam times will be announced once PSU provides classrooms (after week #3)***

 

2/14    Pointers and Dynamic Memory                                           Malik: 14

¥ Introduce pointer variables, memory allocation and deallocation

             ¥ Examples manipulating pointers                                        Shk: 5.1-5.4

 


Week #7

 

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

 


Week #8

 

2/26    Topic #4 Continued

            Dynamic Data Structures                                         

¥ Insert and Removal Algorithms                              

¥ Demonstration: Inserting and Removal

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

 

Be prepared to draw pointer diagrams, create and destroy linear linked lists.

Practice these questions:

1.       Insert at the beginning of a linear linked list

2.       Add at the end of a linear linked list

3.       Display all items in a linear linked list

4.       Display every other item in a linear linked list

5.       Display just the last item in a linear linked list

6.       Remove the first item from a linear linked list

7.       Remove the last item from a linear linked list

 


Week #9

 

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

 

            Explore Recursion

¥ Work through examples of recursion using linked lists

 


Week #10

 

3/12    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.

 

            Prepare for the Final Exam Ð watch for email to your pdx.edu account

           

 

            Practice Recursion and linear linked lists as you prepare for the final exam                                                     

¥ Explore writing recursive functions

 

 

 

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

 

            *** Online exam times will be announced once PSU provides classrooms (after week #7)***