Introduction to Computer Programming Model

by CTE Online Admin

Students will learn the fundamental concepts and terminology of software application development and develop skills in designing and writing simple computer programs. The course assumes no programming background and provides an overview of the software development process in addition to introducing important programming constructs and methodologies.

The course covers such topics as programming language characteristics, integrated development environments, flowcharts, algorithms and pseudocode, variables, operators, conditional statements, looping statements, procedures, error-handling and debugging, object-oriented programming techniques, user interface design, software modeling, and Extensible Markup Language (XML) Web services Students will learn the fundamental concepts and terminology of software application development and develop skills in designing and writing simple computer programs. The course assumes no programming background and provides an overview of the software development process in addition to introducing important programming constructs and methodologies.

The course covers such topics as programming language characteristics, integrated development environments, flowcharts, algorithms and pseudocode, variables, operators, conditional statements, looping statements, procedures, error-handling and debugging, object-oriented programming techniques, user interface design, software modeling, and Extensible Markup Language (XML) Web services

Students will learn the fundamental concepts and terminology of software application development and develop skills in designing and writing simple computer programs. The course provides an overview of the software development process in addition to introducing important programming constructs and methodologies. The course covers such topics as programming language characteristics, integrated development environments, flowcharts, algorithms, variables, operators, conditional statements, looping statements, procedures, error-handling and debugging, object-oriented programming techniques, user interface design, and software modeling.

Prerequistes:

  1. Successful completion of a course or courses in computer technology, computerized business applications, computer networking, or with teacher permission. Previous or concurrent enrollment in Algebra recommended.
  2. Abilities required: Keyboarding
  3. Dress requirement and grooming: As required by industry standards

Program Information
CTE Certification Elements
Standards
California English Common Core Standards (3)
California Math Common Core Standards (3)
Next Generation Science Standards (5)
California's 2013 CTE Standards (43)
California's 2008 CTE Standards (29)
California Academic Content Standards (11)
Competencies / Outcomes

Demonstrate a willingness to learn.

Participate actively as a member of a team.

Communicate professionally with others through verbal, non-verbal and/or written communication.

  • Students will learn how the career path in Computer Programming and Computer Science can lead to rewarding and satisfying jobs in the future.
  • Students will study jobs in the future.
  • Describe the concept of object-oriented programming (OOP)
  • Start Alice
  • Locate and describe the components of the Alice interface
  • Load and play an existing Alice world
  • Create and save a new Alice world
  • Print the code for Alice methods and events
  • Understand the software development cycle and its four phases
  • Describe the different types of software documentation and their appropriate uses
  • Understand modular development and its benefits
  • Understand top-down software design and bottom-up software development
  • Perform unit testing and integration testing
  • Create a compound Boolean expression in an Alice looping or branching instruction
  • Describe the concept of an event in computer programming
  • List and briefly describe the nine event types used in Alice
  • Add an invisible object to mark a spot in an Alice world
  • Create a new Boolean and numeric properties for an object
  • Create an event to move an object
  • Design, create, trouble-shoot and play simple video games.
  • Assess, and offer constructive suggestions for others' projects.
  • Work in collaborative settings to design and create video games.
Units

Introduction to Object Oriented Programming

Unit Overview

This unit introduces Scratch-developed at MIT and Alice-developed at Carnegie Mellon University virtual worlds. Students learn how create and use objects and their properties and methods. They also learn how to write code for object methods.

Class time
9 - 10 Class Periods

Software Development and the Use of Software Design Specifications

Unit Overview

This unit introduces the four phases of software development and the use of software design specifications. Students learn how to perform top-down design and bottom-up implementation. They also learn how to perform unit testing and integration testing. The use of documentation within the program code is also presented. Students will also research software development methods and utilize a web crawler to gather information from various sites.

Lecture
3 Hours
Lab
19 Hours

Logical Structure and Sequences

Unit Overview

This unit introduces the students to programming concepts invovled with decision making and iteration using if statement, logical operators, c onditional operators, compound relational tests, nested if statements, the multipathway switch structure, loops, nested loops, and recursion.

Class Time
3 Class Periods

Event-driven Programming

Unit Overview

This unit introduces event-driven programming. Students learn about event listeners, event triggers, and event handlers. They learn about the nine types of events in Alice, and how to create events in Alice. The use of Boolean variables and billboard objects are also presented.

Class time
7 - 8 Class Periods

AP Concepts Using BYOB/SCRATCH

Unit Overview

The capabilities of BYOB/Scratch allow for the teaching of most Advanced Placement programming concepts using a visual drag and drop metaphor. This unit would be designed so that, in parallel with a Java concept, students would create the same logical constructs using BYOB/Scratch. The lessons would run the gamut from variable creation, to looping, methods, objects, and recursion. Since BYOB/Scratch has a built-in graphical environment, most or all of the concepts would also have an animation component.

Class Time
16 Class Periods

Introduction to Symbolic Logic

This unit introduces students to the use of binary numbers and Boolean expressions which are fundamental concepts in computer science. Students will learn how to set up a truth table to solve a given problem. The results of the truth table will be turned into a Boolean expression which in turn will be used to design an electrical logic circuit.

Lecture
1 Hour
Lab
9 Class Periods

Transitioning From Scratch to BYOB Scratch Using Karel The Robot

Karel, (pronounced Carl) the Robot, is an educational programming language developed by Richard E. Pattis for the purpose of teaching introductory programming. The language is designed to control a robot living in a simulated environment. This environment consists of streets, avenues, beepers and walls. Karel has the ability to move one intersection at a time and to place and/or pickup beepers at the intersections.

The software gives one the ability to create the evironment by placing walls and beepers into the simulated world. Error messages are displayed if Karel attempts to walk through a wall; pickup beepers that are not present; put down beepers that he does not have.

In Pattis' implementation of the language Karel understands five basic instructions, move, turn left, pickbeeper, putbeeper and turn off. In subsequent implementations of the language the command instructions have basically remained the same with some exceptions; in the Scratch implementation Karel can also turn right.

The lessons in this unit will introduce students to programming concepts using Scratch's implementation of Karel which was developed by Moti Ben-Ari of Weizmann Institute of Science http://stwww.weizmann.ac.il/g-cs/benari/. Students will also be introduced to the fundamental concepts of decomposition and abstraction and how they are used to design software.

Transtioning To BYOB From Scratch Lessons
2 weeks

Introduction to Video Game Development Using Game Maker

Do you want to develop computer games without spending countless hours learning how to become a programmer? Then you've come to the right place. Game Maker allows you to make exciting computer games, without the need to write a single line of code. Making games with Game Maker is a lot of fun.

Using easy to learn drag-and-drop actions, you can create professional looking games within very little time. You can make games with backgrounds, animated graphics, music and sound effects, and even 3D games! And when you've become more experienced, there is a built-in programming language, which gives you the full flexibility of creating games with Game Maker. What is best, is the fact that Game Maker can be used free of charge.

You can do anything you want with the games you produce, you can even sell them! Also, if you register your copy of Game Maker, you can unlock extra functions, which extend the capabilities of the program. Game Maker comes preloaded with a collection of freeware images and sounds to get you started.

Unit
5 - 7 Class Periods
Additional Activities from Game Maker
5 - 7 Class Periods

Game Design: The Hero's Journey

In this interactive unit, students will learn about game design and programming at the same time as they learn about plot and character development in the creation of a game of their own. They will use already tested tools like Video Game Maker to make interactive games and Scratch programming language to learn how to program and animate objects in a game environment. In English class, students will study characterization, the elements of plot, and the hero's journey, resulting in creating their own game hero and an outline of the plot of their game, using the elements of plot and the hero's journey to identify important moments of story and development in the game.

In addition to the CTE/STEM focus of the unit/project lessons, educators will find academic lessons in English Language Arts that supplement the primary core area of study.

This unit is brought to you by Emmanuel Onyeador (CTE), Jeremy Sutton (ELA), and Vivienne Pustel (ELA) with support from the CTE Online curriculum leadership team and detailed coordination provided by the Course Specialist Trish Valceschini.

CTE
7 Class Periods
ELA
8 - 10 Class Periods

Ethical and Acceptable Use of Technology

In every society there are rules that its citizens must abide by. This is also true for the digital sphere, where everyone must learn to understand what rules and policy must be followed for us to be good digital citizens. This unit will delve into how technology has impacted our privacy, rights, culture, and our lives. Students will have the opportunity to learn the basic principles behind information, electronic document, and the number system.

In addition to the CTE/STEM focus of the unit/project lessons, educators will find academic lessons in English Language Arts (ELA) that supplement the primary core area of study.

This unit is brought to you by Emmanuel Onyeador (CTE), Jeremy Sutton (ELA), and Vivienne Pustel (ELA) with support from the CTE Online curriculum leadership team and detailed coordination provided by the Course Specialist Trish Valceschini.

Employment Portfolio

The lessons in this unit will be used to create a complete employment portfolio. Jobs, work habits and ethics are explored, as well as communication skills and employee responsibilities.

The lessons in this unit will also consist of activities that teach the student how to write a portfolio for a student organization or for a future job.

Classroom
10 Hours