Introduction to Computer Programming - CTE Online 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 service.

From CALPADS: Introduction to Systems Programming

This course will introduce the systems development process to students. Topics covered include the development life cycle, development models, specifications and requirements, working in development teams, use of versions, and diagramming processes using flowcharts and Unified Modeling Language.

Program Information
CTE Certification Elements
California English Common Core Standards (6)
California Math Common Core Standards (3)
Next Generation Science Standards (5)
California's 2013 CTE Standards (50)
California's 2008 CTE Standards (28)
California Academic Content Standards (9)
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.

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.

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.

1 Hour
9 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.

3 Hours
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

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 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

Let ME Teach YOU About Cybersecurity PBL Project

What is Cybersecurity in 2017? 
Why is it important to my Digital Citizenship? 

Students will become familiar with the Cybersecurity world and how this affects their digital and technology lives. Cybersecurity awareness is required for effective digital citizenship in the 21st century. This introductory lesson focuses on cyber-hacks that are in the news. Students will research current cyber events and demonstrate their understanding using research reports, oral and presentation modalities. 

This journey of four lessons will take students to history of Cybersecurity, virtual field trips, global impact of Cybersecurity and education and certifications required to pursue a career in Cybersecurity.

How Do I Prepare for a Career in Cybersecurity? PBL Project

Students will Journey through Cybersecurity World to determine their interests to succeed in this emerging Career.

  • Lesson 1 focuses on the History of Cybersecurity and SPIES!
  • Lesson 2 introduces students to current technology- The lesson focuses on Cybersecurity Technology and how it is used.
  • Lesson 3 will continue the "Journey of Discovery" to understand education, training and certifications needed to land their dream job in Cybersecurity.
  • The Culmination Activity will have the students demonstrate their Cybersecurity knowledge by 'pitching' a CYBERPATRIOTS Program to school administrators and other adults.

Artificial Intelligence Project

Students born into an era with technology, have unique experiences and expectations. They have been browsing the internet on iPads and smartphones since they before they learned how to walk. 

The Net-Generation are proficient in their knowledge of the use of technology but do they really know the impact of Artificial Intelligence? Do they believe computers are more intelligent than humans? Will Artificial Intelligence take over our jobs? 

In this project, students will learn how Artificial Intelligence is advancing, explore the various types of Artificial Intelligence used and create their own form of A.I. to solve a real world problem. There are four lessons in the Born Digital Made Artificial project.

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.

10 Hours