Active Outline
General Information
- Course ID (CB01A and CB01B)
- CISD041A
- Course Title (CB02)
- Python Programming
- Course Credit Status
- Credit - Degree Applicable
- Effective Term
- Fall 2021
- Course Description
- This course provides a complete introduction to the Python language. Topics covered include primitive and collection data types, operators and statements, loops and branching, functions and variable scoping, modules and packages, object-oriented programming, file handling, regular expressions, and exception handling.
- Faculty Requirements
- Course Family
- Not Applicable
Course Justification
This course meets the transfer requirement for UC and CSU. It is part of the Programming in Python Certificate of Achievement. This course gives students a thorough introduction to one of the most popular programming languages in the tech industry.
Foothill Equivalency
- Does the course have a Foothill equivalent?
- No
- Foothill Course ID
Formerly Statement
Course Development Options
- Basic Skill Status (CB08)
- Course is not a basic skills course.
- Grade Options
- Letter Grade
- Pass/No Pass
- Repeat Limit
- 0
Transferability & Gen. Ed. Options
- Transferability
- Transferable to both UC and CSU
°®¶¹´«Ã½ GE | Area(s) | Status | Details |
---|---|---|---|
2G4M | DA and 4-yr GE Math Ag | Approved |
Units and Hours
Summary
- Minimum Credit Units
- 4.5
- Maximum Credit Units
- 4.5
Weekly Student Hours
Type | In Class | Out of Class |
---|---|---|
Lecture Hours | 4.0 | 8.0 |
Laboratory Hours | 1.5 | 0.0 |
Course Student Hours
- Course Duration (Weeks)
- 12.0
- Hours per unit divisor
- 36.0
Course In-Class (Contact) Hours
- Lecture
- 48.0
- Laboratory
- 18.0
- Total
- 66.0
Course Out-of-Class Hours
- Lecture
- 96.0
- Laboratory
- 0.0
- NA
- 0.0
- Total
- 96.0
Prerequisite(s)
CIS D022A or CIS D036A or CIS D040.
Corequisite(s)
Advisory(ies)
Limitation(s) on Enrollment
Entrance Skill(s)
General Course Statement(s)
Methods of Instruction
Lecture and visual aids
Discussion of assigned reading
Discussion and problem solving performed in class
Quiz and examination review performed in class
Homework and extended projects
Collaborative learning and small group exercises
Collaborative projects
Laboratory discussion sessions and quizzes that evaluate the proceedings weekly laboratory exercises
Assignments
- Reading: Required reading from the textbook and class notes
- Programs: 6-8 programming homework assignments, several with 200 or more lines of code.
Methods of Evaluation
- Evaluation of programming assignments for correctness, use of structured design principles, documentation, and efficiency.
- In-class lab problems, group collaboration problems, quiz questions, and/or online tutorials requiring the ability to read and analyze code through debugging and writing snippets of code.
- One or more midterm examinations requiring programming ability to develop an algorithm, evaluate code segments, and write code using specific programming constructs presented in the course.
- A final examination requiring programming ability to develop an algorithm, evaluate code segments and write code using specific programming constructs presented in the course.
Essential Student Materials/Essential College Facilities
Essential Student Materials:Â
- None.
- Lab with computers that have the Python interpreter and IDE (Integrated Development Environment) installed
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
Horstmann, Cay and Necaise, Rance: Python for Everyone, 2nd edition. Wiley. ISBN: 978-1-119-05655-3. 2016 | ||||
Lubanovic, Bill: Introducing Python, 2nd Edition. O'Reilly. ISBN: 978-1492051367. 2019 |
Examples of Supporting Texts and References
Author | Title | Publisher |
---|---|---|
Lutz, Mark: Learning Python, 5th edition. O'Reilly Media. ISBN: 978-1-4493-5573-9. 2013 | ||
python.org online documentation: https://docs.python.org/3/ |
Learning Outcomes and Objectives
Course Objectives
- Choose appropriate data types
- Write statements that use expressions, operators, and built-in functions
- Apply control structures to create loops and conditional blocks of code
- Write code to handle data input/output through standard IO and files
- Design user-defined functions for modularization of code
- Import and apply common Python modules and packages
- Create custom classes and apply object oriented programming concepts
- Handle exceptions in the program
- Apply regular expressions for text parsing
CSLOs
- Design, code, document, analyze, debug, and test introductory level Python programs that include Python modules.
Outline
- Choose appropriate data types
- Keywords and identifiers
- References
- Mutable and immutable data
- Primitives
- Integral
- Integers
- Boolean
- Floating point
- None data value
- Integral
- Containers
- Strings
- Lists, tuples
- Sets
- Dictionaries
- Collections
- Named tuples
- Default dictionaries
- Comprehension
- Data structure
- Nested structures
- Processing sequences in parallel
- Sorting by a specific field in a data structure
- Keywords and identifiers
- Write statements that use expressions, operators, and built-in functions
- Arithmetic operators
- Assignment operators
- Bitwise operators
- String operators and methods
- Relational operators
- Logical operators
- Membership operators
- Identity operators
- Order of operations
- Built-in functions and modules for numeric, strings, and container operations
- Apply control structures to create loops and conditional blocks of code
- Selection statements
- if-else statement and if elif else statement
- Nested if statements
- Loops
- for loop - the range function
- while loop
- Loop control flow statements
- Nested loops
- Recursion
- Selection statements
- Write code to handle data input/output through standard IO and files
- print and input functions
- Output formatting
- Text file
- File open, close, and mode
- File read and write functions
- The with context manager
- CSV File
- File open, close, mode
- The csv reader and writer
- The with context manager
- Design user-defined functions for modularization of code
- Defining a function
- Calling a function
- Function arguments
- Required arguments
- Default arguments
- Positional arguments
- Keyword arguments
- Variable-length argument lists
- Argument unpacking
- Parameter packing
- Docstrings
- Functions as first-class objects
- Function reference
- Function reference as input argument and return value
- Storing and calling function references in containers
- Import and apply common Python modules and packages
- import statements
- Namespace and scoping
- Create modules
- Create custom classes and apply object-oriented programming concepts
- Create classes and instances
- Overloading: special methods or dunder methods
- Data hiding and encapsulation
- Class attributes
- Instance attributes
- Inheritance
- Overriding the superclass methods
- Polymorphism
- Handle exceptions in the program
- Exception handling and program flow control
- Standard exceptions
- Handling exceptions
- try-except blocks
- finally and else blocks
- Raising an exception
- Apply regular expressions for text parsing
- Regular expression metacharacter set
- Regular expression operators
- Regular expression patterns
- search, findall, finditer
- Substitute
- Grouping
Lab Topics
- Write and debug code that uses correct data types
- Write and debug code that uses expressions and built-in functions
- Write and debug code that uses selection statements and loops
- Write and debug code implementing file I/O
- Write and debug code that implements multiple user defined functions
- Write and debug code that use built-in and user-defined modules and packages
- Write and debug code that implements user-defined classes
- Write and debug code that uses exception handling
- Write and debug code that uses regular expressions