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