Python Essentials
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.
- An assessment of participation throughout the course, including:
Grade Weights by Module
The weight of each module can be broken down as follows.
Module Name | Module % of Course | Assessment | Type | Points | Assign % of Module |
---|---|---|---|---|---|
Module 302 - Introduction to Version Control | 14.42% | ALAB 302.1 - Branching, Merging, and Handling Conflicts | ALAB | 30 | 25.00% |
SBA 302 - Version Control | SBA | 60 | 50.00% | ||
KBA 302 - Version Control | KBA | 30 | 25.00% | ||
Module 351 - Introduction to Python | 38.46% | ALAB 351.1 - Introduction to Python and Computer Programming | ALAB | 20 | 6.25% |
ALAB 351.2 - Data Types, Variables, Operators, and Basic I/O | ALAB | 40 | 12.50% | ||
ALAB 351.3 - Conditionals, Loops, and Lists | ALAB | 50 | 15.63% | ||
ALAB 351.4 - Functions, Tuples, Dictionaries, and Exceptions | ALAB | 60 | 18.75% | ||
SBA 351 - Python Essentials 1 | SBA | 100 | 31.25% | ||
KBA 351 - Python Essentials 1 | KBA | 50 | 15.63% | ||
Module 356 - Advanced Python | 42.07% | ALAB 356.1 - Modules, Packages, and PIP | ALAB | 40 | 11.43% |
ALAB 356.2 - Strings, String and List Methods, Exceptions | ALAB | 50 | 14.29% | ||
ALAB 356.3 - Object-Oriented Programming | ALAB | 60 | 17.14% | ||
ALAB 356.4 - Generators, Closures, and Utility Methods | ALAB | 50 | 14.29% | ||
SBA 356 - Python Essentials 2 | SBA | 100 | 28.57% | ||
KBA 356 - Python Essentials 2 | KBA | 50 | 14.29% | ||
ICP | 5.05% | In-Class Participation | ICP | 30 | 71.43% |
DISC 302.1 - Collaboration and Workflow | DISC | 1 | 2.38% | ||
DISC 302.2 - Branch Management | DISC | 1 | 2.38% | ||
DISC 302.3 - Conflict Resolution | DISC | 1 | 2.38% | ||
DISC 302.4 - Git and GitHub Practices | DISC | 1 | 2.38% | ||
DISC 351.1 - Python and Computer Programming | DISC | 1 | 2.38% | ||
DISC 351.2 - Data Types, Variables, Operators, and I/O | DISC | 1 | 2.38% | ||
DISC 351.3 - Conditionals, Loops, Lists, and Logic | DISC | 1 | 2.38% | ||
DISC 351.4 - Functions, Tuples, Dictionaries, and Processing | DISC | 1 | 2.38% | ||
DISC 356.1 - Modules, Packages, and PIP | DISC | 1 | 2.38% | ||
DISC 356.2 - Strings, Lists, Methods, and Exceptions | DISC | 1 | 2.38% | ||
DISC 356.3 - Object-Oriented Programming | DISC | 1 | 2.38% | ||
DISC 356.4 - Modules, I/O, Generators, and more | DISC | 1 | 2.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:
Module | Outcome | Sync. Hours | Async. Hours |
---|---|---|---|
Introduction to Version Control | Learners will be able to manage project versions and collaborate using Git and GitHub. | 12 | 0 |
Introduction to Python | Learners will be able to design and implement basic Python programs using fundamental programming constructs, including variables, control structures, functions, and data structures. | 36 | 18 |
Advanced Python | Learners will be able to integrate Python modules and packages into their projects and manage dependencies using PIP. | 42 | 21 |
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