Active Outline

General Information


Course ID (CB01A and CB01B)
CISD340.
Course Title (CB02)
Introduction to Programming in Python
Course Credit Status
Non-Credit
Effective Term
Fall 2023
Course Description
This course provides a hands-on introduction to computation through programming and problem-solving. Using the popular Python programming language, students will learn software engineering concepts and basic programming constructs while creating graphical applications.
Faculty Requirements
Course Family
Not Applicable

Course Justification


This is a noncredit enhanced, CTE course that is part of the Introduction to Computer Science Certificate of Completion. This course introduces students to software engineering concepts and problem-solving skills and prepares students for higher-level programming courses.

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
  • Pass/No Pass
Repeat Limit
99

Transferability & Gen. Ed. Options


Transferability
Not transferable

Units and Hours


Summary

Minimum Credit Units
0.0
Maximum Credit Units
0.0

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)


Corequisite(s)


Advisory(ies)


  • ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.
  • Intermediate algebra or equivalent (or higher), or appropriate placement beyond intermediate algebra

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


NONCREDIT: (This is a noncredit enhanced, CTE course.)

Methods of Instruction


Lecture and visual aids

Discussion of assigned reading

Discussion and problem solving performed in class

In-class exploration of Internet sites

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: 8-10 programming homework assignments, several with 100 or more lines of code.

Methods of Evaluation


  1. Evaluation of programming assignments for correctness, design, documentation, and efficiency.
  2. One or more exams requiring programming ability to develop an algorithm, evaluate code segments, and write code using specific programming constructs presented in the course.
  3. In-class lab problems, group collaborative problems, exam questions and/or online assignments or tutorials demonstrating the ability to read and analyze code through debugging and/or writing snippets of code.
  4. A final exam 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:
  • Access to a computer with the Python Interpreter

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
Downey, Allen B., Think Python, 2nd ed., Green Tea Press, 2016. Free download at: https://greenteapress.com/wp/think-python-2e/

Examples of Supporting Texts and References


AuthorTitlePublisher
Swaroop, C.: A Byte of Python. Free download at: http://www.ibiblio.org/g2swap/byteofpython/read/

Learning Outcomes and Objectives


Course Objectives

  • Investigate an overview of computer organization
  • Investigate the development and testing environment
  • Evaluate different data types
  • Apply operators and expressions in a program to compute results
  • Choose flow control statements to apply programming logic
  • Apply data input and output methods for text files
  • Separate a program into user-defined functions
  • Apply collection data types to investigate data structures
  • Investigate classes and objects in object oriented programs

CSLOs

  • Design, code, document, analyze, debug, and test introductory level Python programs.

Outline


  1. Investigate an overview of computer organization
    1. Components of a computer
      1. Hardware
      2. Operating System
      3. Applications
    2. Data representation: binary, decimal, hexadecimal
    3. The instruction cycle
  2. Investigate the development and testing environment
    1. The software development cycle
    2. The Python development environment
    3. Command line vs a script
    4. Program input and output
    5. Testing a program
    6. Debugging a program
  3. Evaluate different data types
    1. Keywords and identifiers
    2. Integral data types
      1. Integers
      2. Boolean
    3. Floating point data types
    4. Strings
  4. Apply operators and expressions in a program to compute results
    1. Arithmetic operators
    2. Assignment operators
    3. String operators and methods
    4. Relational operators
    5. Logical operators
  5. Choose flow control statements to apply programming logic
    1. Flow charts
    2. Selection
      1. Branching logic
      2. if else statements
      3. Nested if statements
    3. Repetition
      1. Looping logic
      2. for loop
      3. while loop
      4. Nested loops
  6. Apply data input and output methods for text files
    1. File types
    2. File open and close
    3. File mode
    4. File read and write functions
  7. Separate a program into user-defined functions
    1. Structured design and modularization concepts
    2. Defining a function
    3. Calling a function
    4. Input arguments
    5. Return statement
  8. Apply collection data types to investigate data structures
    1. Lists
    2. Dictionaries
  9. Investigate classes and objects in object oriented programs
    1. A class as a data type
    2. Creating instances from a class
    3. Accessing member data and methods

Lab Topics


  1. Debug code and output results of execution
  2. Write and debug code that uses arithmetic expressions
  3. Write and debug code that uses selection statements and decision points
  4. Write and debug code using loops to implement repetition concepts
  5. Write and debug code that implements multiple user defined functions
  6. Write and debug code implementing file I/O
  7. Write and debug code that uses collection data types
  8. Write and debug code that uses Python classes
Back to Top