WELCOME TO the HOME of Queens College CS111
Computer Science 111 (C++) Summer 2020
Taught by Aryeh Greenberg ()
This course is based on the book, C++ Without Fear: A Beginner’s Guide That Makes You Feel Smart (3rd Edition) 3rd Edition
We will be covering chapters 1 - 8, skipping anything to do with pointers or recursion.
Programming and most highly paid professions reward those with superior solving abilities. It is the person who can look at a problem from a different perspective, who will be the most successful.
Programming is really about problem solving. A programmer has a set of tools (a programming language) and the problem is to use these tools to solve the problem at hand.
99.5% of the time there are multiple ways to solve any problem. The challenge is to pick the best solution.
Areas we will cover (not necessarily in order below)
1) What are programs? Code and data.
2) Program creation process. Header, code, and library files. Preprocessor, compiler, assembler, and linker.
3) Different types of memory used by a program. Text, Global, Stack, and Heap.
4) Stack growth. Stack Overflow.
5) Computer Instructions. Jump, calculate, move memory, evaluate.
6) “Hello World!”. Program entry and exit.
7) Program types: interpreted, machine code, byte code.
8) OOP vs low level.
9) Data types, arrays, objects.
10) Visibility and scope.
11) Expressions, Boolean Algebra Truth Tables (https://www.electronics-tutorials.ws/boolean/bool_7.html)
12) Operators, Unary and Binary
13) Conditions, loops, code blocks.
14) Functions and parameters.
16) Edge Conditions
17) Code Comments
Two midterm exams and Two final exams + Lab exams. All exams require manual coding.
Final Grade =
60% = Highest 2 grades of: Midterm 1, Midterm 2 & Lab
40% = Highest grade of: Final 1 and Final 2
Midterm 1 is usually easier than Midterm 2.
Final 1 is graded before last day of class.
Final 2 is easier than Final 1.
Highest grade for Final 2 is 89.