Procedural Programming

Enrollment Message:

Students should use a desktop, laptop, or an external keyboard when completing the Python Guided Activities and when using the Python IDLE. Some prior experience with programming is expected, ideally completion of an introductory course in Python programming language, though prior experience with C, C++, C#, Java, or JavaScript will also suffice.

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 is the third course in a three course sequence--Digital Information Technology, Foundations of Programming, and Procedural Programming make up the Web Application and Development Program of Study. Prerequisites: This course is intended for students who have completed Foundations of Programming. Alternatively, some prior experience with programming is expected, ideally completion of an introductory course in Python programming language, though prior experience with C, C++, C#, Java, or JavaScript will also suffice.

Course Objectives: Upon completion of this course, students will be able to...

  • use the course IDLE to run programs
  • write and modify data structures
  • revise code for existing coding errors
  • use appropriate naming conventions for variables and functions (methods)
  • convert data types
  • implement selection structures
  • implement a library in a program
  • write a basic program containing a loop
  • write and run code that uses iterative, nested, and recursive structures
  • review industrial-strength IDEs
  • write code that returns values
  • use modularity to enhance program efficiency
  • use code to analyze natural phenomena
  • test and validate user input
  • explain the concepts of encryption, digital signatures, and authentication
  • write a program that validates input
  • identify how computational thinking can be applied to a real-world scenario
  • write, test, and debug code to improve a real-world scenario
  • describe possible security concerns to existing code

Course Outline:

Module 01: Welcome to Procedural Programming - algorithms, data structures, documentation and debugging

Module 02: Changing the World with Shopping - variables, functions, operators, libraries

Module 03: Changing the World with Entertainment - repetition, recursion, APIs and IDEs

Segment One Collaboration

Module 04: Changing the World with Data - functions, modularity, and data analysis

Module 05: Changing the World with Computer Security - computer vulnerabilities, cryptography, cybersecurity

Module 06: How Will You Change the World? - capstone project

Segment Two Collaboration

Resources Included: Online lesson instruction and activities, opportunities to engage with a certified, online instructor and classmates, when appropriate, and online assessments to measure student performance of course objectives and readiness for subsequent academic pursuits.

Additional Costs: None.

Scoring System: Michigan Virtual does not assign letter grades, grant credit for courses, nor issue transcripts or diplomas. A final score reported as a percentage of total points earned will be sent to students upon completion of a course. Your school mentor is also able to access this score within the Student Learning Portal. Schools may use this score for conversion to their own letter grading system.

Time Commitment: Semester sessions are 18-weeks long: Students must be able to spend 1 or more hours per day in the course to be successful. Summer sessions are 10 weeks long: Students must be able to spend a minimum of 2 or more hours per day, or about 90 hours during the summer, for the student to be successful in any course. Trimester sessions are 12-weeks long: Students must be able to spend 1.5 or more hours per day in the course to be successful.

Technology Requirements: Students will require a computer device with headphones, a microphone, webcam, up-to-date Chrome Web Browser, and access to YouTube.

Please review the Michigan Virtual Technology Requirements:

Lightweight devices such as Apple iPads, Google Chromebooks, and tablets have limited support for Java which still appears in a small percentage of FLVS courses. FLVS has worked to de-Flash its courses. Students may need extra work-around steps or alternate browsers to engage with some portions of select courses or may be required to utlize text-alternatives for some interactive objects. FLVS recommends students have a Windows or Mac based computer available to complete coursework in the event that your selected mobile device does not meet the needs of the course. Fully supported Operating Systems for FLVS courses include Windows (7 or higher), Mac OS X (10.8 or higher), and MacOS (10.12 or higher). Supported Browsers include the most recent versions of Microsoft Edge, Mozilla Firefox, Google Chrome, and Apple Safari on devices that support Java and HTML5. Browsers need to be up to date, and some FLVS courses may require installation or enabling of the following Plug-ins: JavaScript enabled, Cookies enabled, Java installed.

Instructor Support System: For technical issues within your course, contact the Customer Care Center by email at [email protected] or by phone at (888) 889-2840.

Instructor Contact Expectations: Students can use email or the private message system within the Student Learning Portal to access highly qualified teachers when they need instructor assistance. Students will also receive feedback on their work inside the learning management system. The Instructor Info area of their course may describe additional communication options.

Academic Support Available: In addition to access to a highly qualified, Michigan certified teacher, students have access to academic videos and outside resources verified by Michigan Virtual. For technical issues within the course, students can contact the Michigan Virtual Customer Care by email at [email protected] or by phone at (888) 889-2840.

Required Assessment: Online assessments consist of formative and summative assessments represented by computer-graded multiple choice, instructor-graded writing assignments including hands-on projects, model building and other forms of authentic assessments.

Technical Skills Needed: Basic technology skills necessary to locate and share information and files as well as interact with others in a Learning Management System (LMS), include the ability to:

  • Download, edit, save, convert, and upload files
  • Download and install software
  • Use a messaging service similar to email
  • Communicate with others in online discussion or message boards, following basic rules of netiquette
  • Open attachments shared in messages
  • Create, save, and submit files in commonly used word processing program formats and as a PDF
  • Edit file share settings in cloud-based applications, such as Google Docs, Sheets, or Slides
  • Save a file as a .pdf
  • Copy and paste and format text using your mouse, keyboard, or an html editor’s toolbar menu
  • Insert images or links into a file or html editor
  • Search for information within a document using Ctrl+F or Command+F keyboard shortcuts
  • Work in multiple browser windows and tabs simultaneously
  • Activate a microphone or webcam on your device, and record and upload or link audio and/or video files
  • Use presentation and graphics programs
  • Follow an online pacing guide or calendar of due dates
  • Use spell-check, citation editors, and tools commonly provided in word processing tool menus
  • Create and maintain usernames and passwords

Additional Information: Students that are completing the Web Application and Development program of study, consisting of a three course sequence (Digital Information Technology, Foundations of Programming and Procedural Programming), may be interested in preparing for the CIW Internet Business Associate exam (1D0-61A). You can review prerequisites, study materials, and more on the Certified Internet Webprofessionals (CIW) website: You will have the option to contact your instructor to review your readiness for this exam at the end of both the Foundations of Programming and Procedural Programming courses. Note: Costs associated with the certification exam and any additional study materials related to preparing for the exam are the responsibility of the student. Michigan Virtual does not administer the exam in question.


School Level: High School
Standards: Michigan Integrated Technology Competencies for Students (MITECS)
NCAA Approved: N/A - Non-Core
Alignment Document: Document
Course Location: Michigan Virtual Teacher Provided (Brightspace)
NCES Code: 10152
MDE Endorsement Code: NR - Computer Science
MMC Minimum Requirements: EDP/Career Interest Elective

When Offered: (21-22) Semester 1 - Traditional/Delayed Start

Content Provider: Florida Virtual School
Instructor Provider: Michigan Virtual

Course Type: Plus