Week Num |
Topic |
Textbook reference (insert textbook reference here) |
Due Dates (insert due dates here) |
1
|
Course Intro History, Hardware Programming Languages |
|
|
2
|
Developing A Program Program Development Life Cycle Program Design Coding Documenting and Testing a Program |
|
|
3
|
Variables and Constants Data Types Data types, variables and constants in C++ |
|
|
4
|
Selection Structures Introduction to selections Relational and Logical operators Selecting from several alternatives Applications of selection structures |
|
|
5
|
Review for Exam 1
Exam 1 |
|
|
6
|
Loops : Pre-test, Post-test, While, Do while , Counter Loop For, C++ Syntax for loops |
|
|
7
|
More C++ Syntax for loops, Sentinel Loops, Data Validation Loops, Nested Loops, |
|
|
8
|
Combining If’s and Loops, Intro to Delegation and Functions (no Parameters) Delegation and Functions no parameters, global variables, global versus local variables, |
|
|
9
|
Parameter Passing : Import, Export, Value and Reference Parameters, Value-returning Functions |
|
|
10
|
Value and Reference Parameters, Accumulators and Counters with Functions |
|
|
11
|
Review Functions, Bools, Review Loops and Functions |
|
|
12
|
Exam 2.Data Files (objects and member functions) Formatting output, |
|
|
13
|
Intro to Arrays, Parallel Arrays and Data Files, Using only part of an array, |
|
|
14
|
Review Arrays Searching an array |
|
|
15
|
String and Chars (objects and member functions), Review for Exam3 |
|
|
16
|
Exam3. Objects,Classes,GUI |
|
|
The course will have 2.5 hours of lecture
and 50 minutes of lab per week. If the students are unable to finish the labs
within the allotted time, they will need to use an ACC open lab to complete the
work.
Course Rationale:
This is an entry level programming course designed to teach students the basics of program design, coding and testing. The purpose of the course is to create hierarchy charts, flow charts, pseudocode and create test tables in the whole process of program design. A high level programming language is used to reinforce the concepts learned during design.
Course Objectives/ Learning Outcomes: After the successful completion of this course, a student should be able to:
1. Demonstrate problem solving skills by developing algorithms to solve problems incorporating the concept of data abstraction in a computer program.
2. Design and a simple program using the specifications provided by creating structure charts, modules and pseudocode.
3. Implement a simple program by writing the code, performing unit testing and debugging the program.
4. Incorporating the use of sequential, selection and repetition control structures into a program.
5. Demonstrate an understanding of the design and implementation of functions and the passing of parameters to simplify the solution of large problems and to promote the concept of code reuse.
6. Understand the basic principles and concepts of both object-oriented programming and pointers.
Now I will extract the topics from the schedule and reproduce them below. I will also rearrange them to match the order of the topics in the lab manual.
The following table contains a cross reference among the topics covered in this series of tutorial lessons, the lessons in the lab manual for the course, and the topics specified for the course in the ACC Master Syllabus for COSC 1315.
In some cases the topics were paraphrased relative to the Master Syllabus and were separated into more easily identifiable units. Then they were rearranged to put them in the order that they appear in the lab manual.
Lecture Notes | Lab Lesson | Topic |
See textbook | - | Course Intro, History, Hardware, Programming Languages |
105, 120, 130, 160, Also see textbook | - |
Developing A Program
Program Development Life Cycle Program Design |
105, 120, 130, 160, Also see textbook | 1 | Coding Documenting and Testing a Program |
140 | 2 | Variables and Constants |
150 | 2 | Data Types |
150 | 2,5 | Bools |
106 | 3 | Formatting Output |
200 | 3,4 | Data Files |
107 | 4 | Sequence Structure |
180 | 4 | Selection Structures: Relational and Logical operators |
170 | 4 | Selecting from several alternatives |
170 | 5 | Pre-test Loops |
184 | 5 | Post-test Loops |
170 | 5 | While Loops |
184 | 5 | Do while Loops |
184 | 5 | Counter Loops |
184 | 5 | For Loops |
184 | 5 | Sentinel Loops |
180 | 5 | Data Validation Loops |
184 | 5 | Nested Loops |
170 | ? | Combining If's and Loops |
108 | 6.1 | Delegation and Functions (no parameters) |
140 | 6.2 |
Global variables,
Global versus local variables, |
See note 1 | ? | Parameter Passing : Import |
See note 1 | ? | Parameter Passing : Export |
108 | 6.1 | Parameter Passing : Value Parameters |
108 | 6.1 | Parameter Passing : Reference Parameters |
108 | 6.2 | Value-returning Functions |
190 | ? | Accumulators and Counters with Functions |
190 | 8 | Arrays |
200 | 8 | Parallel Arrays and Data Files |
200 | ? | Using only part of an array, |
190 | 9 | Searching an array |
150 | 12 | String and Chars |
110 | 7.2, 11 | Classes, objects, member functions, etc. |
See note 2. Also see the textbook. | ? | GUI |
Notes:
According to a message that I received from Bill Tucker on 2/10/06,
"The master syllabus for COSC 1315 hasn’t been updated in a long time and as you pointed out it needs to be updated
But the task force approved the attached list of topics for all C++ courses. I go by the attached file when I teach the courses."
The following table shows the columns from Tucker's file that pertain to COSC 1315.
Lecture Notes | FOCUS TOPICS | Problem Solving |
Selection Structure | ||
Loop Structure | ||
Functions | ||
Object "Speak" | ||
Problem Solving | ||
Analysis | Input/process/output | |
Design | Procedure/modular | |
Code | Limited syntax | |
Debug methods | Manual methods | |
Test data | valid data | |
Internal Representation | Basics | |
Data Types | ||
Primitives | Limited | |
String Topics | String class | |
ADT | ||
One-dimension arrays | Introduced | |
Classes | Brief Intro | |
Input / Output | ||
Streams | Briefly | |
Console | Explained | |
Formatting | Introduced | |
Sequential files | Introduced | |
Operators | ||
Arithmetic | Explained | |
Relational/equality/logical | Explained | |
Assignment | Basic data types | |
Selection structure | ||
if | Explained | |
if/else | Explained | |
Nested if's | Explained | |
Loop structure | ||
Pretest | Explained | |
Post test | Introduced | |
Nested loops | Introduced | |
Functions | ||
return | Value | |
Arguments / parameters | Primitives / arrays | |
Parameter passing | Value / reference | |
Object Oriented Concepts | Brief Introduction | |
Classes | ||
Concepts | Brief Introduction | |
Encapsulation | Brief Introduction |