1. Topic-
Introduction to Computer Programming and C++
 
2. Content-
We introduce students to the world of computer programming using a widely available language and resources.
 
3. Goals: Aims/Outcomes-
1.At the end of the lesson, students must know how to choose the appropriate database technology for Visual C++ applications
2.They must be able to understand the difficulties of trying to invent their own database system and how to work with this difficulties
3.They must learn how to take advantage of existing database technology to make database development efforts more productive and successful
 
4. Objectives-
1.The student will be able to define a formal language, the differences between high and low level computer languages, and give examples of each. The student will be able to describe the advantages/disadvantages of the different language levels, and perhaps give examples where one should be used over another.
2.The student will be able to demonstrate an algorithm using a real world paradigm (i.e.. Tying shoes,making a peanut butter sandwich).
3.The student will be able to describe the components that make up the average structure of an imperative program and how they might map to a real world paradigm.
 
5. Materials and Aids-
1. Manila Paper
2. Blackboard
3. Chalk
4. Laptop
 
6. Procedures/Methods-

A. Introduction-

1.Lecture on the brief history of computer programming and the development of formal languages while comparing and contrasting them to natural languages. And explain why computer languages are necessarily formal.
2.Lecture on the nature of an algorithm and why it's necessary from a computing perspective.
3.Introduce the makeup of a computer program (i.e. input,output,math,conditional execution,repetition).
 

B. Development-

1.During lecture ask for supportive examples from the students, assuming said examples are not forthcoming, the instructor will attempt to provide them.
2.Before asking the students to develop their own, the instructor will give basic examples of real computer programs that demonstrate the nature of an algorithm.
 

C. Practice-

1. Ask the students to develop an algorithm for a mundane task that integrates the programming components described in the lecture portion via a flow chart. This will be done as a group.

2.Instructor will introduce errors into the student developed algorithm in an attempt to elicit corrective responses from the students.
 

D. Independent Practice-

1.The students will develop a simple computer program model of their own choosing demonstrating the minimal sets of elements that construe a program, in a fashion to that demonstrated in class. They will then deliver a short essay on what errors they believe their program may be vulnerable to and offer ideas for improvement.

2. The student will be responsible for studying an instructor provided vocabulary list and should be able to define all terms thereto.
 

E. Accommodations (Differentiated Instruction)-

To be determined as per the requirements of the students.
 

F. Checking for understanding-

A short quiz will be delivered at the end of the lesson, and students will be queried for specific points in which they may feel they lack understanding.
 

G. Closure-

Once it has been demonstrated that the students understand the abstracted program model, syntactic elements of the language of instruction will be introduced.

As part of the quiz students will be required to grade the instructor on his delivery of material and give a short suggestion of improvement.
 
7. Evaluation-
Students will be evaluated on time management and good use of allotted time slots, remaining focused on the activity.
 
8. Teacher Reflection-
Teacher will consider giving the students more time on task if they cannot complete this activity in allotted time frames. Observe the partners and team work to make sure everyone in on task and working cooperatively. Intervene when necessary. Did students enjoy this activity?
 

This Lesson Plan is available at (www.teacherjet.com)