High School

Foundations of Programming

1.0 Credit
36 weeks
programmer working on a computer code at night
Open

Do you want to learn the skills required to be competitive in today’s high-tech workforce? Foundations of Programming (FoP) will teach students the fundamentals of programming using the computer language Python. The course provides students with the concepts, techniques, and processes associated with computer programming and software development. Students will also explore the many programming career opportunities available in this high-demand field.

Badge information: This course is part of a program of study that provides coherent and rigorous content needed for progression in the Information Technology career cluster. During this course, you will learn career-related skills and earn a badge for this accomplishment. A badge is a digital certification of your career-related learning that you can share on social media or with higher education platforms, colleges, potential employers, peers, and colleagues. Select this link to learn more about badges.

Required Materials: due to the use of Python in the programming environment throughout the course a PC or MAC is recommended rather than a Chromebook or phone, for example.

Note: content varies depending on the course version. For currently enrolled students, please refer to the syllabus located in the course information area for curriculum specifics.

 

Major Topics and Concepts

Module 01Introduction to Programming

  • 01.00 Welcome to Foundations of Programming
  • 01.01 Intro to Programming
  • 01.02 Introduction to Python
  • 01.03 Printing Strings
  • 01.04 Processing String Values
  • 01.05 String Input
  • 01.06 Module One Exam

Module 02Computing Numerical Data

  • 02.00 Introduction to Computing Numerical Data
  • 02.01 Processing Numerical Information
  • 02.02 Getting Numeric Input
  • 02.03 The Math Module
  • 02.04 The Software Development Life Cycle
  • 02.05 Discussion-Based Assessment
  • 02.06 Module Two Project

Module 03Loops and Functions

  • 03.00 Introduction to Loops and Functions
  • 03.01 Turtle Graphics
  • 03.02 for Loops
  • 03.03 while Loops
  • 03.04 Creating Functions
  • 03.05 Discussion-Based Assessment
  • 03.06 Segment One Exam

Segment Two:

Module 04Logic in Programming

  • 04.00 Introduction to Logic in Programming
  • 04.01 Decisions
  • 04.02 More Decisions
  • 04.03 The Logic of AND, OR, and NOT
  • 04.04 Lists
  • 04.05 Discussion-Based Assessment
  • 04.06 Module Four Project

Module 05Codes and Objects

  • 05.00 Introduction to Codes and Objects
  • 05.01 Number Systems
  • 05.02 Decoding ASCII
  • 05.03 Procedural and Object-Oriented Programming
  • 05.04 Classes and Methods
  • 05.05 Module Five Exam

Module 06Testing and Security

  • 06.00 Introduction to Testing and Security
  • 06.01 Testing
  • 06.02 The Ethics of Programming
  • 06.03 Coding and Careers
  • 06.04 Discussion-Based Assessment
  • 06.05 Segment Two Exam

Certification

  • 01 Privacy Certification
  • 02 Encryption Certification
  • 03 Get Certified Certification

Collaboration

  • What You Need to Know
  • Segment One Collaboration
  • Segment Two Collaboration

Course Materials

Note: Foundations of Programming requires Python. Lightweight devices such as Apple iPads, Google Chromebooks, and tablets have limited support for Python. Students will need extra work-around steps or alternate browsers to engage with some portions of this course on those devices. Therefore, we recommend students have a Windows or Mac-based computer available to complete coursework with a Minimum Operating System: iOS 6 or greater, Android 2.2 (Froyo) or greater, Windows Phone 7.5 or greater (in the event that your selected mobile device does not meet the needs of the course).

  • 7″ or larger display size
  • Access to WiFi with a high-speed internet connection (4G or LTE connections are supported, but you may incur costs based on your mobile data plan)
  • Method to save work to local or cloud storage

Competencies

Foundations of Programming

Students will demonstrate an understanding of the foundations of programming by describing the field of computer programming, explaining programming languages, and creating a computer program using strings.

Computing Numerical Data

Students will demonstrate an understanding of computing numerical data by explaining numeric data in programming, solving problems using Python’s math module, and creating a working program using the software development lifecycle.

Loops and Functions

Students will demonstrate an understanding of loops and functions by explaining turtle graphics, comparing for and while loops, and describing functions.

Logic in Programming

Students will demonstrate an understanding of logic in programming by evaluating if and if-else statements, creating Boolean expressions, and explaining programming lists.

Codes and Objects

Students will demonstrate an understanding of codes and objects by converting among number systems, differentiating between data and information, comparing procedural and object-oriented programming, and explaining classes.

Testing and Security

Students will demonstrate an understanding of testing and security by describing testing procedures, describing ethics in programming, and explaining careers in coding.