CSCI 135   ANALYSIS & DESIGN 1     HUNTER COLLEGE  CITY UNIVERSITY OF NEW YORK
CSCI 135 Syllabus                             Gradescope               Coding Style Guide
Text: Tony Gaddis, Starting out with C++ Early Objects, 9th or 10th ed. – hard copy, eText or PDF
GCC compiler (Linux or MacOS or Linux container on Windows) and 0.7mm erasable pens, for written tests and exams.
COURSE OUTLINE

DATE TOPIC SLIDES                                                                       LIVE CODE DUE DATES
1/25 Syllabus127
C++ Review
Lab 12Lab 13
Programming Problems 53-60
1.6 Problems 53-60 due today!
LAB 1  Linux and C++
2/13 Functions 6.1 Modular Peogramming, 6.2 Definintions
6.3 Prototypes, 6.4 Parameters, 6.5 Pass-By-Value
6.6 Return, 6.7 Value, 6.8 Boolean, 6.9 Menu-Driven
6.10 Scope, 6.11 Static, 6.12 Default Parameters
6.13 Pass-By-Reference Parameters
6.14 Overloading, 6.15 Exit, 6.16 Stubs, Drivers
6.17 Case Studies: Loto, 6.18 Jack-o-lantern
Viz
Pyramid
LAB 5  Functions and
Prime Numbers
  3/8

LAB 7 Auto Style   3/3
3/22 Classes 7.1 ADT, 7.2 ObjectOriented Paradigm, 7.3 Classes
7.4 Objects, 7.5 Member Functions
7.6 Constructors, 7.7 Destructors
7.8 Private Members, 7.9 Passing Objects
7.10 Composition, 7.11 Spec vs Implementation
7.13 Enums, 7.14 Case Study
7.15 Object Oriented Analysis & Design
7.16 Screen Control, 7.17 Yoyo
Code
Code
LAB 10  Classes, Enums   4/28
LAB 11  More Classes   _ / __
2/21 Arrays 1 8.1 Many Elements, 8.2 Accessing, 8.3 Input/Outut
8.4 Array Initialization
8.9 Arrays as Function Arguments
0’s , Squares
Sum/Avg
Min Max
Binary Search
Search, Remove Unordered, Copy
3/1 Pointers,
Dynamic
Memory
10.1 « & » , 10.2 Pointer Variables, 10.3 Array Duality
10.4 Pointer Arithmetic, 10.5 Initialize, 10.6 Compare
10.7 As Function Parameter, 10.8 Constant Pointers
10.9 Dynamic Memory Allocation, 10.10 Returning
10.11 Pointers to Objects, 10.12 CS, 10.14 In Total
Ptrs
Pointers Example
Code
Viz
« Add Resize-by-Copy Dynamic Array Example Here »
3/2 Arrays 2 8.6 Processing Array Contents
8.7 Using Parallel Arrays, 8.10 2-D Arrays
8.12 Vectors
8.13 Arrays of Objects
8.14 Case Studies Bank, 8.15 RockPaperScissors
   
4/19 Inheritance 10.1 Inheritance Hierarchies
10.2 Implementing Derived Classes
10.1
10.2
WE 10.1
4/20   10.3 Overriding Member Functions
10.4 Virtual Functions and Polymorphism
10.3
10.4
10 Extra
4/27 Recursion 5.10 Recursive Functions 5.10
Print Triangle
E5.21   5/1
WE 5.1
WE 5.3
5/1 More Recursion Project   3     Add Digits Project   3         5/10
3/9 Dynamic Memory 7.4 Dynamic Memory Allocation   Viz 7.4  
3/13   7.6 PS Draw a Picture Viz PS 7.6 (1 and 3 only)
WE 7.1
3/15       LAB 8  Image Processing _ / _
E7.16   3/21
3/16       LAB 9  Pointers   3/21
E8.1   _ / __
3/20 Objects &
Pointers
7.7 & 7.8 Pointers and Objects 7.7-8
Viz
E7.18   3/21
2/16   12.5 Reference Parameters
12.6 Const Refferences
5.9
Coffee
Code
By Value
By Ref.
E5.14   2/22
E5.15   2/22
2/22   Remove ordered, Insert unordered, Insert ordered, Read inputs and find largest,
6.3 Arrays and Functions
Array functions
6.3 E6.8   4/5
Project 1 A and B   3/1
Selection Sort
2/23   6.4 PS: Adapting Algorithms 6.4-5 PS 6.4
WE 6.1
WE 6.2
2/27   6.5 PS: Discovering Algorithms by Manipulating Physical Objects
6.6 Two-Dimensional Arrays
Print 2D array
6.6 PS 6.5
LAB 6 Strings and Ciphers
E8.1   3/21
3/27   9.9 Separate Compilation 9.9 E9.5   _ / __
Project 2 A & B    _ /_
3/30   9.6 Constructors 9.6  
         
2/14 More Loops 4.6 PS Storyboards
4.7 Common Loop Algorithms
4.6-8
WE 4.1
WE 4.2
2/15   4.8 Nested Loops
4.9 PS Solve a Simple Problem First
4.10 Random Numbers and Simulations
3.7 Boolean Variables and Operators
4.9-10
Squares
Montecarlo
3.7
LAB 4  Printing Shapes   2/28
PS 4.6
PS 4.9
1/26 C++ Quiz
Fundamental Data Types
2.1 Variables 2.1 WE 2.1
WE 2.2
E2.10   2/6
1/30 Strings 2.5 Strings 2.5  
2/1   2.3 Input and Output 2.3-4 LAB 2  Loops and Arrays   2/10
2/6 Decisions 3.1 The if Statement
3.2 Comparing Numbers and Strings
3.3 Multiple Alternatives
3.4 Nested Branches
3.8 Application: Input Validation
3.1
3.2
3.3-4
D.M.L.
3.8
E3.1   2/6
WE 3.1
PS 3.5
PS 3.6
2/8 Loops 4.1 The while Loop
4.2 PS Hand-Tracing
4.1 LAB 3  File I/O, Process Data   2/21
PS 4.2
E4.8   2/16
2/9   4.3 The for Loop
4.4 The do Loop
4.5 Processing Input
4.2-3
4.4-5
WE 8.1
x/xx  
\–/ Static Variables
StatVar
Run Code
   
3/6 Review 5.9 Reference Parameters Ptrs
5.9_Slides
 
3/15   7.5 Arrays of Pointers 7.5-6 LAB 8  Image Processing   _ / __
E7.16   3/21
3/16   Galton Board Viz LAB 9  Pointers   3/21
E8.1   _ / __
3/8 MIDTERM EXAM 1 WEDNESDAY 3/8    
4/3 Enumerations The switch Statement
Enumerated types: bool, switch, MyBool, LIKELY, Color, Colors
Enums PS 5.7
4/17 Streams 8.1 Reading and Writing Text Files 8.1  
4/24 Vectors 6.7 Vectors 6.7 E6.18  E6.20   4/26 .pdf
4/26 More Vectors More Vectors   LAB 12  Vectors   5/8
      LAB 13 Recursion    _/__  
         
5/17 FINAL     EXAM WEDNESDAY 5/17    
2/15 Scope &
Lifetime
7.3 Local Scope
7.4 Global Scope
7.8 Global Evil
7.11 Static Local
7.12 Lifetime
   

TEACHER EVALUATIONS:

www.hunter.cuny.edu/te
  OR
www.hunter.cuny.edu/mobilete (for smartphones)