Active Outline

General Information


Course ID (CB01A and CB01B)
CISD041A
Course Title (CB02)
Python Programming
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.
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

Course Philosophy


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
De Anza GEArea(s)StatusDetails
2G4MDA and 4-yr GE Math AgApproved

Units and Hours


Summary

Minimum Credit Units
4.5
Maximum Credit Units
4.5

Weekly Student Hours

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.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


  1. Reading: Required reading from the textbook and class notes
  2. Programs: 6-8 programming homework assignments, several with 200 or more lines of code.

Methods of Evaluation


  1. Evaluation of programming assignments for correctness, use of structured design principles, documentation, and efficiency.
  2. 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.
  3. 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.
  4. 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.
Essential College Facilities:
  • Lab with computers that have the Python interpreter and IDE (Integrated Development Environment) installed

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
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


AuthorTitlePublisher
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


  1. Choose appropriate data types
    1. Keywords and identifiers
      1. References
      2. Mutable and immutable data
    2. Primitives
      1. Integral
        1. Integers
        2. Boolean
      2. Floating point
      3. None data value
    3. Containers
      1. Strings
      2. Lists, tuples
      3. Sets
      4. Dictionaries
      5. Collections
        1. Named tuples
        2. Default dictionaries
      6. Comprehension
      7. Data structure
        1. Nested structures
        2. Processing sequences in parallel
        3. Sorting by a specific field in a data structure
  2. Write statements that use expressions, operators, and built-in functions
    1. Arithmetic operators
    2. Assignment operators
    3. Bitwise operators
    4. String operators and methods
    5. Relational operators
    6. Logical operators
    7. Membership operators
    8. Identity operators
    9. Order of operations
    10. Built-in functions and modules for numeric, strings, and container operations
  3. Apply control structures to create loops and conditional blocks of code
    1. Selection statements
      1. if-else statement and if elif else statement
      2. Nested if statements
    2. Loops
      1. for loop - the range function
      2. while loop
      3. Loop control flow statements
      4. Nested loops
    3. Recursion
  4. Write code to handle data input/output through standard IO and files
    1. print and input functions
    2. Output formatting
    3. Text file
      1. File open, close, and mode
      2. File read and write functions
      3. The with context manager
    4. CSV File
      1. File open, close, mode
      2. The csv reader and writer
      3. The with context manager
  5. Design user-defined functions for modularization of code
    1. Defining a function
    2. Calling a function
    3. Function arguments
      1. Required arguments
      2. Default arguments
      3. Positional arguments
      4. Keyword arguments
      5. Variable-length argument lists
        1. Argument unpacking
        2. Parameter packing
    4. Docstrings
    5. Functions as first-class objects
      1. Function reference
      2. Function reference as input argument and return value
      3. Storing and calling function references in containers
  6. Import and apply common Python modules and packages
    1. import statements
    2. Namespace and scoping
    3. Create modules
  7. Create custom classes and apply object-oriented programming concepts
    1. Create classes and instances
    2. Overloading: special methods or dunder methods
    3. Data hiding and encapsulation
      1. Class attributes
      2. Instance attributes
    4. Inheritance
      1. Overriding the superclass methods
      2. Polymorphism
  8. Handle exceptions in the program
    1. Exception handling and program flow control
    2. Standard exceptions
    3. Handling exceptions
      1. try-except blocks
      2. finally and else blocks
    4. Raising an exception
  9. Apply regular expressions for text parsing
    1. Regular expression metacharacter set
    2. Regular expression operators
    3. Regular expression patterns
    4. search, findall, finditer
    5. Substitute
    6. Grouping

Lab Topics


  1. Write and debug code that uses correct data types
  2. Write and debug code that uses expressions and built-in functions
  3. Write and debug code that uses selection statements and loops
  4. Write and debug code implementing file I/O
  5. Write and debug code that implements multiple user defined functions
  6. Write and debug code that use built-in and user-defined modules and packages
  7. Write and debug code that implements user-defined classes
  8. Write and debug code that uses exception handling
  9. Write and debug code that uses regular expressions
Back to Top