High School

Procedural Programming

1.0 Credit
36 weeks
software developers using computer to write code sitting at desk with multiple screens work remotely at home.
Open

Do you want to learn higher-level coding skills? This course teaches advanced programming concepts using the computer language Python. You will learn techniques and processes associated with computer programming and software development. This course provides honors-level elective credit. Digital Information Technology, Foundations of Programming, and Procedural Programming make up the Web Application and Development Program of Study.

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.

Major Topics and Concepts

Module 1
Welcome to Procedural Programming01.00 Welcome to Procedural Programming

  • 01.01 Introduction to Procedural Programming
  • 01.02 Algorithms
  • 01.03 Data Structures
  • 01.04 Documenting and Debugging
  • 01.05 Module One Exam
  • 01.06 Module One Discussion Based Assessment

Module 2
Changing the World with Shopping

  • 02.00 Changing the World with Shopping
  • 02.01 Variables and Function
  • 02.02 Mathematical Operators
  • 02.03 Input and Selection Structures
  • 02.04 Python Libraries
  • 02.05 Discussion-Based Assessment
  • 02.06 Module Two Project

Module 3
Changing the World with Entertainment

  • 03.00 Changing the World with Entertainment
  • 03.01 Repetition
  • 03.02 Iterative Loops
  • 03.03 Recursion
  • 03.04 APIs and IDEs
  • 03.05 Discussion-Based Assessment
  • 03.06 Segment One Exam

Segment II
Module 4
Changing the World with Data 

  • 04.00 Changing the World with Data
  • 04.01 Functions
  • 04.02 Modularity
  • 04.03 Data Analysis
  • 04.04 Data Exercise
  • 04.05 Discussion-Based Assessment
  • 04.06 Module Four Project

Module 5
Changing the World with Computer Security

  • 05.00 Changing the World with Computer Security
  • 05.01 Computer Vulnerabilities
  • 05.02 Cryptography
  • 05.03 Encryption
  • 05.04 Security, Careers, and Beyond
  • 05.05 Module Five Exam

Module 6
How will YOU change the world?

  • 06.00 Capstone Project
  • 06.01 Capstone Introduction
  • 06.02 Decomposition and Pattern Recognition
  • 06.03 Algorithmic Design with Pseudocode
  • 06.04 Algorithmic Design with Python Code
  • 06.05 Generalize and Assess
  • 06.06 Discussion-Based Assessment
  • 06.07 Segment Two Exam

Course Materials

This course assumes previous coding experience.

Competencies

Introduction to Procedural Programming and Python

Students will demonstrate an understanding of procedural programming and Python by reviewing procedural programming languages, describing and using Python, and exploring applications in computational thinking.

Procedural Programming Design

Students will demonstrate an understanding of procedural programming design by examining variable scope, defining functions, investigating efficient code and using mathematical operators.

Procedural Programming Application

Students will demonstrate an understanding of procedural programming application by working with selection structures, learning to obtain and verify good user input, and importing and using Python libraries.

Visualization

Students will demonstrate an understanding of visualization by examining the use of iterative loops, investigating recursion, using Turtle Graphics with recursive functions and researching API’s and IDE’s.

Data

Students will demonstrate an understanding of data by examining different types of functions and subroutines, explaining the benefits of modular programming and using modularity to enhance program efficiency.

Data Analysis and Exercise

Students will demonstrate an understanding of data analysis and exercise by investigating how programs work with data, how programmers compare data, basic analysis tools, and working with data while examining linear and binary search algorithms.

Computer Security

Students will demonstrate an understanding of computer security by describing computer vulnerabilities and their impacts, testing user input, learning about cryptography, encryption and computer programming careers in security.

Program Development

Students will demonstrate an understanding of program development by examining real-world scenarios where different problems can be solved through programming and coding and assessing a program in Python.