Course Outline  

CS162: Introduction to Computer Science

Summer 2012

 

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/26-7/2         Watch Topic #1 Videos                                 

 

6/29    Topic #1                                                          *** Please read the syllabus ***

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

Class Introduction, and Review Outline.

 

6/29    ¥ 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

á         By 7/3 Ð Get a CS Account

á         Submit a sample program to D2LÕs dropbox and experiment with submitting programs though this technique.

 

6/29   

                    ¥ 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

 

 

 

 

WEEK #2:

Date:   Topic:                                                                          Reading/Projects:

 

7/2-7/6           Watch Topic #2 Videos                                 

 

7/6      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

 

7/6           Required Lab Time ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

                    ¥   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/6      Preview: Topic #2: Structures and External Files                              Malik: 11, Shk: 3

á      What they are

á      How to create them

á      Working with arrays of structures


WEEK #3:

Date:   Topic:                                                                          Reading/Projects:

 

7/9-7/13         Watch Topic #3 Videos                                 

 

á         7/10                      Assignment #1 Due (Homework & Program)    - Submit to the D2L Dropbox

 

7/13         Required Lab Time  ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

                    ¥   Review from required videos: Structs and External Files

á         Demonstration: Writing programs using structs and external files

á         Explore C++ functions working with structs

á         Experience external data files

á         Explore the class construct

7/13    Preview: 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

 

 

 

Midterm Prep

WEEK #4:

Date:   Topic:                                                                          Reading/Projects:

 

7/20    Assignment #2 Due (Homework & Program)    - Submit to the D2L Dropbox

 

7/20    Midterm Exam           ***Proficiency Demonstration for Topics 1-2 Must be completed

 

7/20          Required Lab Time  ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

á         Review from required videos: Classes

á          Demonstration: Designing a system that uses classes

á         Explore the C++ class construct

 

WEEK #5:

Date:   Topic:                                                                          Reading/Projects:

 

7/20-7/27       Watch Topic #4 Ð Part I Videos                                

 

 

7/27    Lecture: Pointers and Dynamic Memory                                        Malik: 14

¥ Introduce pointer variables, memory allocation and deallocation

             ¥ Examples manipulating pointers                                        Shk: 5.1-5.4

 

7/20          Required Lab Time  ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

á         Review from required videos: Pointers and Dynamic Memory

á          Demonstration: Designing a System using Dynamically Allocated arrays

7/27    Preview: Topic #4

            Dynamic Data Structures                                                      Malik: 18

¥ Review of Pointers and the new Operator                         

¥ Introduction to Linked Lists                                                  Shk: 5.5-5.6

 

 

 

 

 

WEEK #6:

Date:   Topic:                                                                          Reading/Projects:

 

7/30-8/6         Watch Topic #4 Ð Part II Videos on LLL                                

 

7/31    Assignment #3 Due (Homework & Program)    - Submit to the D2L Dropbox

 

8/3        Required Lab Time  ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

á         Review from required videos: Linear Linked Lists

á         Demonstration: Using pointers and linked lists

8/3      Preview: Topic #4 Continued

            Dynamic Data Structures                                         

¥ Insert and Removal Algorithms                              

           

 

WEEK #7:

Date:   Topic:                                                                          Reading/Projects:

 

8/6-8/10         Watch Topics #5 and 6                                  

 

8/7      Assignment #4 Due (Homework & Program)    - Submit to the D2L Dropbox

                                     

8/10    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

¥ Arrays of Arrays: Multidimensional Arrays,                        Malik: 9, Shk: 8            

Creating Arrays of Arrays, Arrays of Structs, and Arrays of Class Elements.

 

8/10    Required Lab Time  ***BRING a LAPTOP, NETBOOK, or Tablet. If you do not have access to your own device, then make arrangements with your instructor so that one will be provided during this lab session. 24 hour advanced notice is required.

¥ 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  

WEEK #8:

 

8/16    Assignment #5 Due    - Submit to the D2L Dropbox  ***NO LATE HOMEWORK #5Õs

 

 

 

            Final Exam Time:

Comprehensive Final Exam               Friday August 17th at 1:00-2:50

 

Topic #4 Proficiency Demonstrations must be completed by 5pm August 17th