COSC 051: Computer Science I

Instructor

Jeremy Bolton: Teaching and Research


Course Calendar

Course Overview

Syllabus

Books

Recommended Texts:

  • [GW] Starting Out With C++, Early Objects, 9th Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda

Topic Schedule

Class time will be focused on conceptual dicussion and coding examples, which will supoort the assigned readings. It is imperative that you read the assigned reading from the text.

The following schedule is sequentially organized by topics and subject to change.

SEE CANVAS FOR SUBMISSION AND DUE DATES

Lecture Topic Readings Supplemental Files and Notes Assignments, etc.
0 Course Introduction and Overview  
1 Introduction to Computers:
Main Components, Basic Design, SSH Clients, and Unix File Systems and Commands
[GW] 1.1 - 1.7
Unix Tutorial by MS
SSH and SFTP Clients
SSH for Mac Users
Assignment #0
2 Introduction C++ Language and Compilation: Hello World
[GW] 2.1 - 2.7 Update your access here!
Editor on Server: nano
Emacs Editor
Assignment #1
3 Basic Programming Elements and Expression Evaluation:
Data Types, Variables, Constants, Literals, Scope, ...
[GW] 2.8 - 2.18 [GW] 1-2 Suggested Practice Problems
C++ Example: Types and Encoding
4 Expressions, Operators, Types, COnversions and more! [GW] 3.1 - 3.5 [GW] 3 Suggested Practice Problems
C++ Example: Expressions and Casting
5 Conditionals / Selection, Logical Operators , Algorithm Design and Flow Diagrams
Introduce Project 1
[GW] 4.1 - 4.5 Project 1

Exemplar Solution
6 Conditionals / Selection, Switch
In - Class Example / Exercise
[GW] 4.6 - 4.13 [GW] 4 Suggested Practice Problems
7 Characters and Strings, Formatting Outputs, and Coding Examples [GW] 3.6 - 3.11 + C++ Example: math tutor- formating, random # In-Class Exercise: Loan
* Stringstream, Strings, and C-Strings [GW] 12.1 - 12.5
8 Programming Strategies:
Strategies, Debugging, Editors, ...
+ Debugging Tips +Tired of Emacs?
9 Iteration / Loops: Example with Computation and Menu Driven Programs [GW] 5.1 - 5.13 Example: Accumluate Sum
Example: Factorial
[GW] 5 Suggested Practice Problems
10 Project #2 and File I/O [GW] 13.1 - 13.5
(supplement to info covered in CH5)
Example: Read from File Project 2

Exemplar Solution

Correct Ouput
11 Nested Loops: In-Class Example [GW] 5.7 - 5.13 Example: Nested Loops
Example: Count Divisible
12 Arrays [GW] 8.1 - 8.10 Example: Arrays for Fibonacci
Example: Command Line Arguments
Example: Reverse File
Example: String Compare
[GW] 8 Suggested Practice Problems
13 Pointers and Dynamic Allocation [GW] 10.1 - 10.10 Example: Function for Fibonacci
Example: Crazy Scope Example
Simple Pointer Example
[GW] 10 Suggested Practice Problems
14 Functions, Procedures, Return Values, Parameter Profiles, and Scope
Introduce Project #3
Make-up Lecture Recording
[GW] 6.1 - 6.10 [GW] 6 Suggested Practice Problems Project #3
New Project Test Files [1] [2]
15 Functions, Procedures, Return Values, Parameter Profiles, and Scope [GW] 6.11 - 6.17
* Exam #1 Practice Exam [no solution]
17 Exam Review
18 Examples with Vectors and Functions [GW] 8.10 - 8.11 In - Class Exercise: Vector Solution In - Class Exercise: Vectors
19 Recursion [GW] 14.1 - 14.4 Example: Recursive Countdown
Example: Recursive Fibonacci
[GW] 14 Suggested Practice Problems
20 Introduction to Object Oriented Programming (OOP) [GW] 7.1 - 7.5 Example: Customer Class Project 4
21 Introduction to Object Oriented Programming (OOP) [GW] 7.6 - 7.14 [GW] 7 Suggested Practice Problems
22 Some Finer Details Related to OOP [GW] 11.1 - 11.4 Example: Operator Overloading
[GW] 11 Suggested Practice Problems
23 Some Finer Details Related to OOP [GW] 11.5 - 11.8 Example: Copy Constructor
OOP Slides
24 Linked Lists and Chaining [GW] 17.1 - 17.2
Casual Intro to Linked Lists
[GW] 17 Suggested Practice Problems Project #5
25 Linked Lists and Chaining [GW] 17.4 Example: Chaining
26 Course Evals and Linked Lists (cont)
27 --> Final Exam: SECTION 2 only!!!!! <-------
--> Final Exam: SECTION 3 only!!!!! <-------