NAHS Technology and Business Department Introduction to Programming Curriculum Map

NAHS Technology and Business Department Introduction to Programming Curriculum Map

Overview In this course, students are introduced to the fundamentals of . Students will explore programming concepts such as input/output, variables, methods, control logic, looping, arrays, classes, encapsulation, inheritance, and using both a graphical and text-based interface. Students will become proficient in code design, development, and testing process by applying these concepts to create various puzzles, forms, and games

Curriculum Components

• History of computers o Original needs that led to computer development o Historical figures related to the development of computers o The role of government in the development of computers o Computer generations & their characteristics

• History of programming languages o The role of a o Differences between computers and humans o generations and their characteristics o Characteristics of structured programming

• Number Systems o Understanding number systems used by computers, understanding why they are used, and physical conversion among them

• Programming concepts o Object oriented programming o Information hiding/encapsulation o Concepts related to classes, objects, and instances

• Programming Lifecycle o Designing o Building the interface o Adding code o Testing o Concepts involved with building the final application (stand-alone) and understanding the difference between source code and object (executable) code

Revised 10/31/10 1 NAHS Technology and Business Department Introduction to Programming Curriculum Map

• Objects and Event Handlers o Understand what causes events to be “fired” o Using the appropriate event handler o Using the appropriate object for the intended job

• Programming concepts o Assigning values to properties o The concept of datatypes o New dataype: strings o Handling basic syntax errors. o Operators -- mathematical & string o New datatypes – integer, double, single, boolean

• Programming concepts o Object hierarchy o Superclass, subclass o inheritance

• Effectively using the Language Reference as a source of information

• Color o Physics of light – how we all see differently o Color psychology o Additive synthesis (computers – RGB), Subtractive Synthesis (printing – CMYK) o How computers store color data o Using color in programs to set background and to change text color

• Working with windows o Adding windows within the IDE o Adding windows during program execution – instantiation, placement o Window order-of-events (and under what conditions) firing compared to objects on the window

• Working with images o (External application) Basic image usage – resizing images, creating gradients, adding effects o Importing images into projects o Adding images to the background of a window and to objects

• Building projects o Actual project build – awareness of operating system intention (end product) o Adding project notes

Revised 10/31/10 2 NAHS Technology and Business Department Introduction to Programming Curriculum Map

• Variables o Concept o Methodology and application of declaring, initializing and using variables appropriately o Program scope o Variable type -- local variables

• String operations o Manipulation functions, casting, formatting for output

• Decision constructs o Methodology and application of basic, nested, and compound decision constructs o Truth tables – AND, OR, XOR, NOT and their application to programming logic

• Handling single & multiple user choice o Using objects that allow single and multiple user selections

• Programming concepts o Commenting code – for general program information & within code o Operator overloading (comparison) o Code efficiency

• Methods o Understanding the concept o Built-in vs user defined o Types of methods – functions, subroutines o Analysis of built-in methods o Method creation The design process Implementation with each method type o Method scope

• Exception handling o Syntax vs runtime errors o Internal problems o User data validation and resulting notification and event handling

• Global variables o Scope o Use

Revised 10/31/10 3 NAHS Technology and Business Department Introduction to Programming Curriculum Map

• Looping constructs o Concepts o Infinite loops o Usage – for, while

• Non-scalar (object) datatypes o Declaration, instantiation

• Programming Concepts o Manual instantiation of objects o Nil objects, nilobjectexception – graceful exit

• Arrays o Creating, populating, accessing, converting

• Timers o Concept o Use

• Career Exploration o Video game design o Video game programming o Programming languages & platforms o Higher education opportunities in computer programming and in gaming

Revised 10/31/10 4