Skip to content

Latest commit

 

History

History
134 lines (99 loc) · 7.79 KB

DS109-Syllabus.md

File metadata and controls

134 lines (99 loc) · 7.79 KB

DS109 Programming Foundations in Python


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

Educational Objectives:

Upon successful completion of this course, students will be able to:

  1. Know basic programming foundations
  2. Understand algorithms and design patterns
  3. Comprehend expressions and Boolean logics
  4. Recognize data types
  5. Have knowledge of object-oriented programming
  6. Be aware of data structures
  7. Understand best practices for organizing your code
  8. Be able to debug your code
  9. Write reliable and performant code

Course Outline

Course:

  1. Introduction to Python: What is Programming, What is Python, Python Setup, Python Interpreter, Create a Project, Variables, Data Types, Comments
  2. 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
  3. 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
  4. Dictionaries: Creating a Dictionary, Accessing Dictionary Data, Modifying a Dictionary, Iterating Over a Dictionary, Nested Dictionaries
  5. 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
  6. Object Orientated Programming: Set up, Classes, Creating an Instance of a Class, Creating and Accessing Class Properties, Methods of a Class
  7. 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
  8. Inheritance and Polymorphism: Class Inheritance and Polymorphism, Inheritance, Adding Unique Properties and Methods to a Subclass, Overriding Base Class Methods, Instances as Attributes, Polymorphism
  9. Debugging and Unit Testing: Debugging and Unit Testing in Python, Debugging, Errors in pdb, Common Errors, Testing
  10. 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

Required Resources:

  • 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.


Points Distribution

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

Points Total

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%)


Final Project

Combine your knowledge of for loops, if statements, and methods to create a working task list.