Skip to Content
Syllabus

Python Essentials

10 Weeks

Course Description

Embark on this 10-week course designed to introduce learners to Python programming fundamentals and build a strong foundation in computational problem-solving.

This intermediate course is designed for individuals new to programming or seeking to expand technical skills with Python. Learners design well-structured programs, apply core programming concepts such as version control, variables, control flow, and data structures, and work with Python’s robust libraries and tools.

The course emphasizes hands-on projects and real-world applications, ensuring learners acquire practical skills to tackle programming challenges confidently. Instructional methods include interactive lectures, hands-on coding labs, collaborative group exercises, and project-based assessments.

Upon successful course completion, graduates will be well-prepared to leverage Python while also having set the groundwork should they wish to pursue intermediate and advanced courses in software engineering.

Course Objectives

Upon successful completion of all course requirements, learners will:

  • Design structured programs using Python that incorporate foundational programming concepts like variables, data types, control flow, and version control with git.
  • Develop solutions to computational problems by implementing functions, modular programming, and error-handling techniques.
  • Apply object-oriented programming principles to model real-world scenarios using classes, objects, and inheritance.
  • Integrate Python’s built-in and third-party libraries to enhance functionality and manage project dependencies.
  • Build practical applications using advanced Python techniques, including file handling, date/time manipulation, and iterative processing.

Prerequisites

To be considered for this course, learners are required to meet the minimal qualifications for a Per Scholas course and must also demonstrate comprehension, critical thinking, and digital literacy skills through a baseline assessment.

It is expected that the learner will have technical knowledge through education, as a Per Scholas Alumnus, prior to entering the program. Additionally, learners must complete approximately 17 hours of self-study prework materials. Per Scholas will provide learner access to the materials and resources. Topics include the following:

  • Introduction to Computational Logic
  • Introduction to Computational Thinking and Algorithms

Course Materials

All course materials are accessible through the Canvas Learning Management System (LMS).


Course Components and Grading

All assignments and assessments can be found within the Canvas LMS. The following sections describe the purpose, methodology, policies, and weight for graded material.

Description of Assignments

The following labels and acronyms will be used throughout the course:

  • Labs
    • Small tasks or projects that aid in skill formation and progress assessment.
    • Graded as either complete/incomplete or via a rubric, depending on the complexity of the lab.
  • Knowledge-Based Assessments (KBA)
    • Timed quizzes that cover factual knowledge and critical thinking skills, rather than practical usage of technical skills.
    • Useful for interview practice, and general ability to confidently communicate technical knowledge.
  • Skill-Based Assessments (SBA)
    • Open-book, cumulative programming tasks that demonstrate practical knowledge and skill proficiency with a module’s content.
  • In-Class Participation (ICP)
    • An assessment of participation throughout the course, including:
      • Verbal and written communication to peers and instructors, including on module discussion boards.
      • Active listening and solution-seeking through questions and independent research.
      • Teamwork, such as collaboration during group activities or assignments, but also including empowering peers to meet their objectives through whatever means an individual has available.
      • Punctuality and preparedness, particularly when assigned material to complete between class days.

Grade Weights by Module

The weight of each module can be broken down as follows.

Module NameModule % of CourseAssessmentTypePointsAssign % of Module
Module 302 - Introduction to Version Control14.42%ALAB 302.1 - Branching, Merging, and Handling ConflictsALAB3025.00%
SBA 302 - Version ControlSBA6050.00%
KBA 302 - Version ControlKBA3025.00%
Module 351 - Introduction to Python38.46%ALAB 351.1 - Introduction to Python and Computer ProgrammingALAB206.25%
ALAB 351.2 - Data Types, Variables, Operators, and Basic I/OALAB4012.50%
ALAB 351.3 - Conditionals, Loops, and ListsALAB5015.63%
ALAB 351.4 - Functions, Tuples, Dictionaries, and ExceptionsALAB6018.75%
SBA 351 - Python Essentials 1SBA10031.25%
KBA 351 - Python Essentials 1KBA5015.63%
Module 356 - Advanced Python42.07%ALAB 356.1 - Modules, Packages, and PIPALAB4011.43%
ALAB 356.2 - Strings, String and List Methods, ExceptionsALAB5014.29%
ALAB 356.3 - Object-Oriented ProgrammingALAB6017.14%
ALAB 356.4 - Generators, Closures, and Utility MethodsALAB5014.29%
SBA 356 - Python Essentials 2SBA10028.57%
KBA 356 - Python Essentials 2KBA5014.29%
ICP5.05%In-Class ParticipationICP3071.43%
DISC 302.1 - Collaboration and WorkflowDISC12.38%
DISC 302.2 - Branch ManagementDISC12.38%
DISC 302.3 - Conflict ResolutionDISC12.38%
DISC 302.4 - Git and GitHub PracticesDISC12.38%
DISC 351.1 - Python and Computer ProgrammingDISC12.38%
DISC 351.2 - Data Types, Variables, Operators, and I/ODISC12.38%
DISC 351.3 - Conditionals, Loops, Lists, and LogicDISC12.38%
DISC 351.4 - Functions, Tuples, Dictionaries, and ProcessingDISC12.38%
DISC 356.1 - Modules, Packages, and PIPDISC12.38%
DISC 356.2 - Strings, Lists, Methods, and ExceptionsDISC12.38%
DISC 356.3 - Object-Oriented ProgrammingDISC12.38%
DISC 356.4 - Modules, I/O, Generators, and moreDISC12.38%

Assessment Policy

Learners must complete all labs, assignments, and assessments according to the schedule given by the instructor.

Please note that Per Scholas has a strict academic integrity policy. Plagiarism is considered cheating. Any learner caught plagiarizing will be automatically dismissed from the course. Plagiarism includes, but is not limited to, copying answers or assignments from another learner or a website. Learners can reference material as long as it is properly cited.


Module Schedule

The curriculum is thoughtfully divided into modules, each carefully crafted to cover specific areas of expertise:

ModuleOutcomeSync. HoursAsync. Hours
Introduction to Version ControlLearners will be able to manage project versions and collaborate using Git and GitHub.120
Introduction to PythonLearners will be able to design and implement basic Python programs using fundamental programming constructs, including variables, control structures, functions, and data structures.3618
Advanced PythonLearners will be able to integrate Python modules and packages into their projects and manage dependencies using PIP.4221

Days Off

Per Scholas will be closed on the dates shared in the weekly Canvas course calendar. You are expected to work on classwork and projects during days when class is not in session, unless otherwise instructed.


Enrollment Agreement and Additional Policy Information

For all other policy information, including behavior expectations, dress code, academic integrity, accommodations, and more, please reference the Per Scholas Enrollment Agreement.


Standard Occupational Classification Codes

This course aligns with the following Standard Occupational Classification (SOC) codes:

  • 15-1251: Computer Programmers
  • 15-1252: Software Developers

Classification of Instructional Programs Codes

This course aligns with the following Classification of Instructional Programs (CIP) codes:

  • 11.0201: Computer Programming/Programmer, General
  • 11.0205: Computer Programming, Specific Platforms