Courses for every classroom

Computer Programming 2

This course builds from a basic understanding of Python concepts and dives into further Python topics such as functions, dictionaries, lists, tuples, object oriented programming, reading from and writing to files, etc.

Semester course · 82 lessons · 4 units

  • Python
  • Pathway Courses
  • Voyage
  • Semester
  • 9th grade
  • 10th grade
  • 11th grade
  • 12th grade

Recommended prerequisite: Computer Programming 1

Course Summary

Students with a good grasp of basic Python concepts such as variables, conditionals, and varieable types will enjoy this course. Advanced Python explores manipulating lists and organizing data into different formats such as dictionaries and tuples. Students learn to read from and write to files and learn about sequential file structures. They also learn the basics of object oriented programming and how to create instances and classes. They learn different sorting techniques and discover recursion.

Course Outline

    1. Project: Nicco's Pizza You are the new owner of Nicco’s Pizza in Rome Italy and Gordon Ramsey, The Cake Boss, and many other food celebrities are coming to eat at your restaurant. Since it is the very best Pizza it needs to have the very best ordering system.
    2. Project: Leap Year leap year calc
    3. Py String Methods
    4. Py String Methods Continued
    5. Py Error Messages & Debugging
    6. Py Programming Languages
    7. Py Lists
    8. History of Computer Science
    9. Py Python For Loops
    10. Py Python Functions
    11. Py Python Function Parameters
    12. Py Python While Loops
    1. Python 2 Project: Prime Number Calculator Prime number calc
    2. Printing Specifics in Python
    3. If Statement in a For Loop Why not combine a few of the previous lesson content? Let's take a look at using if statements in for loops.
    4. Python Accessing Items in a List Lists are great but not very useful if we can't access the items inside of them. Let's take a look at how to access these items without needing to use a for loop.
    5. Using Integers from a List Learn about different ways to use a list of integers!
    6. Adding to Lists in Python Learn different ways to add to and remove from a list in Python.
    7. Removing from Lists in Python Learn different ways to remove items from lists in Python
    8. Python Lists Continued This lesson continues on the topic of lists and accessing items inside of them.
    9. Testing Code
    10. Generator and Lambda Functions
    11. Multiple Parameters in Python Functions Two is better than one! Let's learn how we can pass multiple parameters to a function in Python.
    12. Python Dictionaries The second grouping of information we will look at in Python is dictionaries. Don't get these confused with real world dictionaries!
    13. Adding to and Removing from Dictionaries Learn the different ways to add to or remove from a dictionary in Python.
    14. Dictionaries Continued Let's continue learning about dictionaries in Python, specifically how to add and remove items, check the dictionary's length, and look for certain keys in a dictionary.
    15. Looping Through a Dictionary Using For Loops with dictionaries is easy! Let's see how this is accomplished in Python.
    16. Looping Through a Dictionary Continued This lesson adds to our knowledge of dictionaries and for loops.
    17. Tuples This lesson introduces tuples and how we can use them to store data in Python.
    18. Python 2 Project: Factorials In this project, students will write a program that receives one number as the input, then calculates the sum of all factorials of its factorial.
    19. Sets
    1. Reading Files One of the most useful features of Python is the ability to create, read, write, and edit files. This lesson covers the basics of this functionality.
    2. Reading Parts of a File This lesson will cover how to read only specific parts of a txt file.
    3. Append a Line to a Text File This lesson will teach you how to write a program that can edit text files.
    4. File Write Mode This lesson covers how to use the "w" command in the open() function.
    5. Py Nested For Loops
    6. Multi-dimensional Lists This lesson covers multi-dimensional lists, and how they can be used in programming.
    7. Iterating through 2D Lists This lesson will cover how to use for loops to iterate through each element of a 2D list.
    8. Recursion This lesson will cover recursion, which is the technique of using functions that call themselves.
    9. Recursion vs Iteration This lesson covers the difference between recursive algorithms and iterative algorithms.
    10. Bubble Sort This lesson teaches about the Bubble sort algorithm, and how it is implemented.
    11. Python Random Learn how to get random values in Python
    12. Selection Sort This lesson covers Selection Sort, another sorting algorithm.
    13. Python Math Library
    14. Insertion Sort This lesson covers Insertion Sort, a useful data sorting algorithm.
    15. Python Datetime
    16. Merge Sort This lesson covers Merge sort, a useful data sorting algorithm.
    17. Modules & Packages
    18. Object-Oriented Programming This lesson covers the basics of object-oriented programming.
    19. Creating an Instance/Object This lesson covers how to create an instance of your class.
    20. Objects Continued
    21. Super Classes
    22. Interviewing Basics Learn the basics of interviewing!
    23. Dress for Success Learn the standard and dress expectations for different environments, and what they entail!
    24. Data Structures Learn about the different ways we use data and the challenges associated with data collection, structure, and interpretation.
    1. Team Members in Tech
    2. Software Engineer Learn what it means to be a software engineer!
    3. Computer Systems Manager Learn what it means to be a computer systems manager!
    4. Database Administrator Learn what it means to be a database administrator!
    5. Network Analyst Learn what it means to be a network analyst!
    6. Video Game Developer Learn what it means to be a video game developer!
    7. Bioinformatic Scientist Learn what it means to be a bioinformatic scientist
    8. Drone Software Engineer Learn what it means to be a drone software engineer!
    9. Computer Science Teacher Learn what it means to be a computer science teacher!
    10. Virtual Reality Specialist Learn what it means to be a virtual reality specialist!
    11. Hardware Engineer Learn what it means to be a hardware engineer!
    12. Web Developer Learn what it means to be a web developer!
    13. Information Security Analyst Learn what it means to be an information security analyst!
    14. Health Information Technician Learn what it means to be a health information technician!
    15. Data Scientist Learn what it means to be a data scientist!
    16. Software Tester Learn what it means to be a software tester!
    17. App Developer Learn what it means to be an app developer!
    18. Artificial Intelligence Specialist Learn what it means to be an Artificial Intelligence Specialist!
    19. Ethical Hacker Learn what it means to be an ethical hacker!
    20. Web Designer Learn what it means to be a web designer!
    21. Agricultural Engineer Learn what it means to be an agricultural engineer!
    22. Marine Scientist
    23. Food Scientist
    24. Ecologist Learn what it's like to be a ecologist!
    25. Climatologist
    26. Biometrician
    27. Remote Sensing Specialist

Standard Alignment

  • Aligned to 16 Utah standards

State standards documents

Document Standards Grades
National
2022 Skill Struck Standards Alignment + Correlation Guide CSTA K-12 Computer Science Standards · 2022 K-2, 3-5, 6-8, 9-12
Alabama
Alabama Course of Study Digital Literacy and CS Standards + Skill Struck Alignment Alabama Course of Study Digital Literacy and CS Standards K-2, 3-5, 6-8, 9-12
Arizona
Arizona Computer Science Standards + Skill Struck Alignment Arizona Computer Science Standards K-2, 3-5, 6-8, 9-12
Arkansas
Arkansas Computer Science and Computing Standards High School Programming + Skill Struck Alignment Arkansas Computer Science and Computing Standards High School Programming · 2023 9-12
California
California K-12 CS Standards + Skill Struck Alignment California K-12 CS Standards K-2, 3-5, 6-8, 9-12
Idaho
Idaho Content Standards Computer Science + Skill Struck Alignment Idaho Content Standards Computer Science · 2023 K-2, 3-5, 6-8, 9-12
Illinois
Illinois Computer Science Standards + Skill Struck Alignment Illinois Computer Science Standards · 2022 K-2, 3-5, 6-8, 9-12
Indiana
Indiana K-12 Computer Science Standards + Skill Struck Alignment Indiana K-12 Computer Science Standards · 2023 K-2, 3-5, 6-8, 9-12
Iowa
Iowa Computer Science Standards + Skill Struck Alignment Iowa Computer Science Standards K-2, 3-5, 6-8, 9-12
Kansas
Kansas CS Standards P-12 + Skill Struck Alignment Kansas CS Standards P-12 · 2023 K-2, 3-5, 6-8, 9-12
Kentucky
Kentucky Academic Standards for Computer Science + Skill Struck Alignment Kentucky Academic Standards for Computer Science · 2023 K-2, 3-5, 6-8, 9-12
Maryland
Maryland K-12 CS Standards + Skill Struck Alignment Maryland K-12 CS Standards · 2023 K-2, 3-5, 6-8, 9-12
Massachusetts
Massachusetts Digital Literacy and Computer Science Standards + Skill Struck Alignment Massachusetts Digital Literacy and Computer Science Standards · 2023 K-2, 3-5, 6-8, 9-12
Michigan
Michigan K-12 Standards Computer Science + Skill Struck Alignment Michigan K-12 Standards Computer Science · 2023 K-2, 3-5, 6-8, 9-12
Mississippi
Mississippi College and Career Readiness standards for Computer Science + Skill Struck Alignment Mississippi College and Career Readiness standards for Computer Science · 2022 K-2, 3-5, 6-8, 9-12
Missouri
Missouri K-12 Computer Science Performance Standards + Skill Struck Alignment Missouri K-12 Computer Science Performance Standards · 2023 K-2, 3-5, 6-8, 9-12
Nebraska
Nebraska K-12 Technology Standards + Skill Struck Alignment Nebraska K-12 Technology Standards · 2023 K-2, 3-5, 6-8, 9-12
Nevada
Nevada Academic Content Standards for CS + Skill Struck Alignment Nevada Academic Content Standards for CS K-2, 3-5, 6-8, 9-12
Nevada Academic Content Standards for Integrated Technology + Skill Struck Alignment Nevada Academic Content Standards for Integrated Technology K-2, 3-5, 6-8, 9-12
Nevada Computer Science Standards + Skill Struck Alignment Nevada Computer Science Standards 9-12
New Jersey
New Jersey Computer Science and Design Thinking Standards + Skill Struck Alignment New Jersey Computer Science and Design Thinking Standards · 2020 K-2, 3-5, 6-8, 9-12
New York
New York Computer Science and Digital Fluency Learning Standards K-12 + Skill Struck Alignment New York Computer Science and Digital Fluency Learning Standards K-12 K-2, 3-5, 6-8, 9-12
North Carolina
North Carolina K-12 CS Standards + Skill Struck Alignment North Carolina K-12 CS Standards K-2, 3-5, 6-8, 9-12
Ohio
Ohio's Learning Standards Computer Science + Skill Struck Alignment Ohio's Learning Standards Computer Science · 2023 K-2, 3-5, 6-8, 9-12
Oklahoma
Oklahoma Academic Standards for Computer Science + Skill Struck Alignment Oklahoma Academic Standards for Computer Science K-2, 3-5, 6-8, 9-12
Rhode Island
Rhode Island's K-12 CS Education Standards + Skill Struck Alignment Rhode Island's K-12 CS Education Standards K-2, 3-5, 6-8, 9-12
South Carolina
South Carolina's Computer Science Standards for High School + Skill Struck Alignment South Carolina's Computer Science Standards for High School · 2023 9-12
Tennessee
Tennessee K-12 Computer Science State Standards + Skill Struck Alignment Tennessee K-12 Computer Science State Standards · 2023 K-2, 3-5, 6-8, 9-12
Texas
TEKs Skills for CTE + Skill Struck Alignment TEKs Skills for CTE 9-12
Utah
Utah 6-12 CS Standards + Skill Struck Alignment Utah 6-12 CS Standards · 2019 6-8, 9-12
Virginia
Virginia K-12 CS Standards + Skill Struck Alignment Virginia K-12 CS Standards · 2023 K-2, 3-5, 6-8, 9-12
Washington
Washington K-12 CS State Learning Standards + Skill Struck Alignment Washington K-12 CS State Learning Standards K-2, 3-5, 6-8, 9-12
Wisconsin
Wisconsin Standards for Computer Science + Skill Struck Alignment Wisconsin Standards for Computer Science · 2023 K-2, 3-5, 6-8, 9-12

Course Project

In this course students will complete challenges that help solidify concepts as they use skills in a variety of ways. In order to complete tasks, students will creatively apply what they've learned by using different approaches to reach a goal. This experience closely follows challenges they would face in a technical interview, allowing them to practice. Some examples of projects: Add the Factorials, Prime Number Calculator, Shopping, Custom Greeting Cards, Pollinating Bees