COURSE TITLE: Structured Programming
COURSE NUMBER: 420-P16-AS
GROUP NUMBER: 7052
Targeted competency: To use a structured programming language (016S).
Achievement context of the competency:
• Based on the company’s standards and requirements.
• Using a workstation and the appropriate software.
• Using valid algorithms pertinent to the workplace.
• Using appropriate technical reference manuals for the programming environment.
Semester: WINTER 2018
Teacher: Quang Hoang Cao
Room and office hours: 3220E; (Tuesday: 11h00-12h00; Wednesday: 12h00-14h00)
Important Notes: Any change to the Room and office hours will be sent to you via MIO.
LaSalle College 2 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations
1
Readings / Homework
(hours spent outside class)
Week 1
Date: Jan. 12
Total number of
hours:3
Introductions
Students and teacher introductions
Completion of KWL form or its equivalent
Presentation of the Course outline (evaluation criteria) and the course calendar
Presentation of the IPEL articles that apply to the course and reminder of the
important rules in the Student Agenda
Establishment of a code of conduct for the class
Adoption of the Integrity Contract
Presentation of the lesson plan by the teacher
o Computer Components and Operations
o Steps in Program Development Process
Demonstration by teacher: Showing students
some reference web sites
Conclusion: Mastering the logical steps to solve a problem ensures the desired
solution.
Introduction to the next class
o Steps in Program Development Process (continued)
o Algorithms and Pseudo-code
Preparation for the next class:
Review
1. Steps in Program Development Process
2. Input – Process – Output
Homework
Write down the steps required to find out the
maximum value of the three numbers n1, n2 and
n3.
1
Note that this course calendar is subject to change, depending on the specific needs of the course.
LaSalle College 3 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 2
Date: Jan. 16
Total number of
hours:3
&
Week 2
Date: Jan. 19
Total number of
hours:3
Review : Steps in Program Development Process
Presentation of the lesson plan by the teacher
o Steps in Program Development Process (continued)
o Algorithms and Pseudo-code
o Algorithms and Pseudo-code (Continued)
Lab session by student:
Using Visual Studio 2017/2015 to create a Simple C++ Program
Conclusion: An algorithm is a series of step-by-step instructions that produce a
result within a finite amount of time.
Introduction to the next class
o Using flowcharts
Preparation for the next class
Answer the following
questions:
1. What is a flowchart?
2. What are the typical symbols used in a flowchart?
LaSalle College 4 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 3
Date: Jan. 23
Total number of
hours:3
&
Week 3
Date: Jan. 26
Total number of
hours:3
Review : Algorithms
Presentation of the lesson plan by the teacher
o Using flowcharts
o A Brief History of C++
o Basic Structure of a C++ Program
o How to write, edit, compile and run a C++ Program
Lab session by student:
o Creating a Simple C++ Program
o Using cin , cout and getline()
(Demo in class and submission via LEA) LAB 1
Due Date : January 26, 2018
Conclusion:
o The main () function in a C++ program is where the program starts
executing.
o Syntax, Run-time and Logic Errors.
Introduction to the next class
o Data Types, Operators and Control Structures
Preparation for the next class
Information Research
Fundamental Types of the C++ Language
Reference Web Site
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 4
Date: Jan. 30
Total number of
hours:3
&
Week 4
Date: Feb. 2
Total number of
hours:3
Review: Basic Structure of a C++ program
Presentation of the lesson plan by the teacher
o Data Types, Variables and Constants
o C++ Operators (Arithmetic, Equality and Relational)
o C++ Operators (Assignment, Increment and Decrement)
Lab session by student: C++ Programs with Data Types and Operators
Conclusion:
o Correct use of data type in a C++ program enhances its performance.
o Consistent in naming convention (variables, constants) enhances code
readability.
Introduction to the next class
o C++ Operators (logical)
o Control Structure: Sequence
o Control Structure: Selection (if; if/else)
o Control Structure : Selection (switch)
Preparation for the next class
C++ Logical Operators
- && (and)
- || (or)
- ! (not)
Control Structures
Reference Web Sites
http://www.cplusplus.com/doc/
tutorial/operators/
http://www.cplusplus.com/doc/
tutorial/control/
Homework: Write a C++ program
that allows the user to enter 10 whole numbers (integer)
and the program calculates and displays the sum of the
numbers. You have to use only two
variables in your source code.
LaSalle College 6 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 5
Date: Feb. 6
Total number of
hours:3
&
Week 5
Date: Feb. 9
Total number of
hours:3
Review : C++ Operators
Presentation of the lesson plan by the teacher
o C++ Operators (logical)
o Control Structure: Sequence
o Control Structure: Selection (if; if/else)
o Control Structure : Selection (switch)
o Nested ifs
o The for Repetition Control Structure
o Nested ifs (continued)
o The for Repetition Control Structure (continued)
o The while Repetition Control Structure
(Pre-test loop)
Lab session by student: Writing C++ programs using Sequence, Selection and
Repetition Controls.
(Demo in class and submission via LEA) LAB 2
Due Date : February 9, 2018
Conclusion:
o Improper uses of logical operators are the sources of logical errors in C++
programs.
Introduction to the next class
o Nested ifs
Preparation for the next class
Selection and Repetition Controls
Reference Web Sites
http://www.cplusplus.com/doc/
tutorial/operators/
http://www.cplusplus.com/doc/
tutorial/control/
LaSalle College 7 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 6
Date: Feb. 13
Total number of
hours:3
&
Date: Feb. 16
Total number of
hours:3
Review : Selection Control Structures
Presentation of the lesson plan by the teacher
o The while Repetition Control Structure
(Pre-test loop)
o The do/while Repetition Control Structure
(Post-test loop)
o Definition of an Array
o Initializing an Array
o One-dimensional Arrays
o Multi-dimensional Arrays
o Storing Data in an Array
o Accessing Data stored in an Array
o Searching Arrays: Linear Search and Binary Search
Lab session by student: Writing C++ programs using
nested ifs ,the for repetition control structure and arrays.
Conclusion:
-The for loop is used when the number of iterations is fixed.
- Using arrays to store the elements of the same data type.
Introduction to the next class
Sorting an Array
Preparation for the next class
Sorting an Array
Reference Web Site
http://www.cplusplus.com/doc/
tutorial/
LaSalle College 8 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 7
Date: Feb. 20
Total number of
hours:3
&
Date: Feb. 23
Total number of
hours:3
Review : Two-dimensional Arrays
Presentation of the lesson plan by the teacher
o Sorting an Array (Bubble Sort and Selection Sort)
Lab session by student: Writing C++ programs using repetition control
structures (while; do/while).
(Demo in class and submission via LEA) LAB 3
Due Date : February 23, 2018
Conclusion: do loop VS do/while loop
Introduction to the next class
Review for Midterm Exam
Preparation for the next class
Review for Midterm Exam
1. Algorithms and Pseudo-code
2. Flowcharts
3. C++ Operators, variables
4. Control Structures
Sequence
Selection
Repetition
5. Differences among the Control
Structures
6. Searching and Sorting Arrays
LaSalle College 9 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 8
Date: Feb. 27
Total number of
hours:3
o Review for Midterm Exam
Lab session by student:
Writing C++ programs using repetition control structures (while; do/while)
and arrays.
Using parallel arrays
Introduction to the next class
Midterm Exam
Preparation for the next class
Reference Web Site
Structures in C++
http://www.cplusplus.com/doc/
tutorial/structures/
LaSalle College 10 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 9
Date: March 6
Total number of
hours:3
&
Date: March 9
Total number of
hours:3
Review : Arrays
Correction of Midterm Exam
Presentation of the lesson plan by the teacher
o Introduction to C++ Structures
o Declaring a Structure Variable
o Storing Data in a Structure
o Accessing Data stored in a Structure using dot (.) operator
o Application of structures
Lab session by student: Writing C++ programs using structures.
Conclusion: Discuss “Advantages of a structure”
Introduction to the next class
Array of structures
Preparation for the next class
.
Reference Web Site
Structures in C++
http://www.cplusplus.com/doc/
tutorial/structures/
LaSalle College 11 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 10
Date: March 13
Total number of
hours:3
&
Date: March 16
Total number of
hours:3
Review : C++ Structures
Presentation of the lesson plan by the teacher
o Array of Structures
o Array of Structures (continued)
Lab session by student: Writing C++ programs using an array of structures
(Demo in class and submission via LEA) LAB 4
Due Date : March 13, 2018
Conclusion: Discuss “ Advantages of a Structure”
Introduction to the next class
C++ Pointers
Preparation for the next class
.
Reference Web Site
Structures in C++
http://www.cplusplus.com/doc/
tutorial/structures/
LaSalle College 12 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 11
Date: March 20
Total number of
hours:3
&
Date: March 23
Total number of
hours:3
Review : C++ Array of Structures
Presentation of the lesson plan by the teacher
o Introduction to C++ Pointers
o Declaration of a Pointer
o Reference Operator (&)
o Dereference Operator (*)
o Using C++ Pointers with Structures
o Using Pointers with an Array of Structures
Lab session by student: Writing C++ programs using pointers with arrays,
structures and an array of structures
Conclusion: Using C++ pointers to access data stored in a large array promotes
processing performance.
Introduction to the next class
C++ Functions
Preparation for the next class
.
Reference Web Site
C++ Pointers
http://www.cplusplus.com/doc/
tutorial/pointers/
C++ Functions
http://www.cplusplus.com/doc/
tutorial/functions/
LaSalle College 13 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 12
Date: March 27
Total number of
hours:3
Review :
o C++ Pointers and Structures
Presentation of the lesson plan by the teacher
o Introduction to Modularization
o Introduction to C++ Functions
o Declaration of a Function
o Function Prototypes
o Functions Returning no Value
Lab session by student: Writing C++ programs using C++ Functions.
(Demo in class and submission via LEA) LAB 5
Due Date : March 27, 2018
Conclusion: Advantages of Divide-and-Conquer Techniques (Group discussion)
Introduction to the next class
o Functions Returning a Single Value
Preparation for the next class
Reference Web Site
C++ Pointers
http://www.cplusplus.com/doc/
tutorial/pointers/
C++ Functions
http://www.cplusplus.com/doc/
tutorial/functions/
LaSalle College 14 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 13
Date: April 3
Total number of
hours:3
&
Date: April 6
Total number of
hours:3
Review : Functions Returning no Value
Presentation of the lesson plan by the teacher
o Passing Function Arguments by Value
o Passing Function Arguments by Reference
Lab session by student: Writing C++ programs using C++ functions (continued)
Conclusion: Calling Functions by Value/Reference: When to use?
(Group discussion)
Introduction to the next class
Inline and Recursive Functions
Preparation for the next class
.
Reference Web Site
C++ Functions
http://www.cplusplus.com/doc/
tutorial/functions/
LaSalle College 15 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 14
Date: April 10
Total number of
hours:3
Review : Functions Returning a Single Value
Presentation of the lesson plan by the teacher
o Inline Functions
o Recursive Functions
Lab session by student: Writing C++ programs using C++ recursive functions
Discussion: Advantages and Disadvantages of Inline and Recursive Functions
Project Demo and Submission
Introduction to the next class
Introduction to 3 files(Header
File, Implementation File and Application File)
Preparation for the next class
.
Reference Web Site
C++ Functions
http://www.cplusplus.com/doc/
tutorial/functions/
LaSalle College 16 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 14
Date: April 13
Total number of
hours:3
Review : C++ Functions
Presentation of the lesson plan by the teacher
o Header File (also called Declaration file, .h)
o Implementation File (.cpp )
o Application File (.cpp )
o Review for Final Exam
Lab session by student: Writing C++ programs using
- C++ Functions
- Arrays
- Structures
- Pointers
Project Demo and Submission (Continued)
Final exam preparation
Review:
1. Algorithms, Pseudo-code and Flowcharts
2. Variables, Constants
3. C++ Operators
4. Control Structures
5. Arrays and Structures
6. C++ Pointers
7. C++ Functions
LaSalle College 17 08/27/2017 (v. 2)
Weeks, dates
and cumulative
hours
Learning Activities, Content Covered and Evaluations Readings / Homework
(hours spent outside class)
Week 15
Date: April 17l
Total number of
hours:3
&
Date: April 20
Total number of
hours:3
Presentation of the lesson plan by the teacher:
Review for Final Exam
o Algorithms, Pseudo-code and Flowcharts
o Variables, Constants
o C++ Operators
o Control Structures
o Arrays
o Structures
o Array of structures
o C++ Pointers
o C++ Functions
Questions/Answers: C++ pointers
Lab session by student:
Writing C++ programs using functions
Organizing the program source code into three files: Declaration
file, Implementation File and Application File.
LaSalle College 18 08/27/2017 (v. 2)
Detailed Schedule for the Summative Evaluations
Elements of competency evaluated
1. Adapt algorithms to the constraints of the programming language (016S.2). 2. To translate the algorithms into a programming language 016S.3).
3. To compile the program (016S.4). 4. To test the program (016S.5).
Week and date
of evaluation
Name of evaluation
(Exam, project,
portfolio etc.…)
%
Evaluated Performance Criteria
Week 8
Date: Feb. 28
Midterm Exam
30
Detection of compilation errors.
Correction of compilation errors.
Effective use of the environment’s operating system and debugging features.
Development of tests to verify that the program is functioning properly.
Correct interpretation of results.
Appropriate debugging of the program according to the algorithm.
Critical thinking.
Autonomy, initiative.
Time management.
Analytic and synthetic.
LaSalle College 19 08/27/2017 (v. 2)
Week 14
Date: April 13
Final Project
30
Detection of compilation errors.
Correction of compilation errors.
Strict application of programming standards.
Accurate application of the principles of the structured programming language.
Full and proper use of the language’s potential.
Development of tests to verify that the program is functioning properly.
Correct interpretation of results.
Critical thinking.
Autonomy, initiative.
Time management.
Analytic and synthetic.
Week 15
Date :
According to
the college’s
final exam
schedule
Final Exam
40
Accurate application of the principles of the structured programming language.
Full and proper use of the language’s potential.
Appropriate debugging of the program according to the algorithm.
Development of tests to verify that the program is functioning properly.
Correct interpretation of results.
Critical thinking.
Autonomy, initiative.
Time management.
Analytic and synthetic.