Course Description: This course will give students programming foundations in languages utilized in the industry. This course also provides a secure foundation upon which students can build on as they progress through the program.
Quarter Credit Hours: | 3 |
Course Length: | 40 hours |
Prerequisites: | None |
Proficiency Exam: | No |
Theory Hours: | 20 |
Laboratory Hours: | 20 |
Externship Hours: | 0 |
Outside Hours: | 10 |
Total Contact Hours: | 40 |
Upon successful completion of this course, students will be able to:
- Know basic programming foundations
- Understand algorithms and design patterns
- Comprehend expressions and Boolean logics
- Recognize data types
- Have knowledge of object-oriented programming
- Be aware of data structures
- Understand best practices for organizing your code
- Be able to debug your code
- Write reliable and performant code
Course:
- Introduction to Python: What is Programming, What is Python, Python Setup, Python Interpreter, Create a Project, Variables, Data Types, Comments
- Performing Operations: Set up, Strings, String Concatenation, String Operations, Boolean Data Type, Operators, Arithmetic Operators, Assignment Operators, Comparison Operators, Logical Operators, Making Decisions and Controlling Flow
- Lists and Loops: Lists, Tuples, List and Tuple Indexing, Modifying Lists, Creating a List From a Range of Numbers, Iterating Over a Collection, Terminating a Loop Week 2
- Dictionaries: Creating a Dictionary, Accessing Dictionary Data, Modifying a Dictionary, Iterating Over a Dictionary, Nested Dictionaries
- Functions: What is a Function, Providing Data to a Function, Return Data From a Function, Local Variables and Scope, Unnamed and Anonymous Functions, Map, Filter
- Object Orientated Programming: Set up, Classes, Creating an Instance of a Class, Creating and Accessing Class Properties, Methods of a Class
- Standard Library: Standard Library, Modules, Python Standard Modules, Math Module, Pip Packages, NumPy, Accessing and Modifying Files, Reading From and Writing to Files, Updating File Strings Week 3
- Inheritance and Polymorphism: Class Inheritance and Polymorphism, Inheritance, Adding Unique Properties and Methods to a Subclass, Overriding Base Class Methods, Instances as Attributes, Polymorphism
- Debugging and Unit Testing: Debugging and Unit Testing in Python, Debugging, Errors in pdb, Common Errors, Testing
- Final Project
Class: DSO109 | Topic presented |
---|---|
Week 1 Workshop #1 | Installing Python and VSC (L1) |
Week 1 Workshop #2 | Lists and Loops (L3) |
Week 2 Workshop #1 | Dictionaries and Functions (L4) |
Week 2 Workshop #2 | Python Packages (L7) |
Week 3 Workshop #1 | Classes and Debugging (L8, L9) |
Week 3 Workshop #2 | Practice Project (L10) |
Module | Lesson Number | Lesson Name |
---|---|---|
DS109 Programming Foundations in Python | 1 | Introduction to Python |
2 | Performing Operations in Python | |
3 | Lists and Loops | |
4 | Dictionaries | |
5 | Functions | |
6 | Object-Oriented Programming | |
7 | Standard Library | |
8 | Python for Data Science | |
9 | NumPy | |
10 | Final Project |
-
Ground-based students are required to bring a late model laptop computer (either PC or MacBook) to class every day.
-
Online students are required to have a late model laptop or desktop computer with internet access.
-
Minimum: PC (Windows 10/11) or Mac (Big Sur or Monterey) laptop. 8GB ram, 512GB HD, Intel Core i5, AMD Ryzen 5, or Apple Intel or M1 Chipsets.
-
Recommended: PC (Windows 10/11) or Mac laptop(Big Sur or Monterey). 16GB ram, 1TB SSD, Intel Core i7, AMD Ryzen 7, or Apple M1/M1 Pro Chipsets.
-
Professionals: PC (Windows 10/11) or Mac(Big Sur or Monterey). 32-64 GB ram, 2-8TB SSD, Intel Core i9, AMD Ryzen 9/Threadripper, or Apple M1 Max Chipsets.
-
It is a requirement that you are able to download programming resources to your laptop/desktop for this class. (This means you need a steady internet high bandwidth connection.)
-
You are required to have a quiet place to study and to be able to focus on the material.
-
You are required to have uninterrupted weekly 1:1 video meetings with your mentor.
-
You are required to log into the Learning Management System (LMS) daily for at least 20 minutes.
-
Please follow and review each lesson page by page coding examples provided as this will ensure you have a full understanding for your final hands-on assignments.
Lesson | Points | Topic |
---|---|---|
L1 Practice Hands On | 0 points | Create variables in the appropriate data types for Python. |
L2 Hands On | 45 points | Use if statements and string concatenation in Python. |
L3 Practice Hands On | 0 points | Create lists and for loops in Python. |
L4 Hands On | 45 points | Create, modify, and utilize dictionaries in Python. |
L5 Practice Hands On | 0 points | Utilize arithmetic and lambda functions in Python. |
L6 Hands On | 45 points | Create and modify classes in Python. |
L7 Practice Hands On | 0 points | Explore Python packages, including datetime and the ability to read text. |
L8 Hands On | 45 points | Utilize super and sub classes and their methods in Python. |
L9 Practice Hands On | 0 points | Debug and unit test errant code in Python. |
L10 Final Project | 200 points | Final Project |
Professionalism, Attendance and Class Participation points 20 (5%)
Assignments/Hands-On/Homework: L1-9 Hands On total points180 (45%)
Projects/Competencies/Research: Final Project 200 (50%) Total points: 400 (100%)
Combine your knowledge of for loops, if statements, and methods to create a working task list.