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
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
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)
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
- Reading: Required reading from the textbook and class notes
- Programs: 8-10 programming homework assignments, several with 100 or more lines of code.
Methods of Evaluation
- Evaluation of programming assignments for correctness, design, documentation, and efficiency.
- 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.
- 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.
- 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.
- Access to a computer with the Python Interpreter
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
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
Author | Title | Publisher |
---|---|---|
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
- Investigate an overview of computer organization
- Components of a computer
- Hardware
- Operating System
- Applications
- Data representation: binary, decimal, hexadecimal
- The instruction cycle
- Components of a computer
- Investigate the development and testing environment
- The software development cycle
- The Python development environment
- Command line vs a script
- Program input and output
- Testing a program
- Debugging a program
- Evaluate different data types
- Keywords and identifiers
- Integral data types
- Integers
- Boolean
- Floating point data types
- Strings
- Apply operators and expressions in a program to compute results
- Arithmetic operators
- Assignment operators
- String operators and methods
- Relational operators
- Logical operators
- Choose flow control statements to apply programming logic
- Flow charts
- Selection
- Branching logic
- if else statements
- Nested if statements
- Repetition
- Looping logic
- for loop
- while loop
- Nested loops
- Apply data input and output methods for text files
- File types
- File open and close
- File mode
- File read and write functions
- Separate a program into user-defined functions
- Structured design and modularization concepts
- Defining a function
- Calling a function
- Input arguments
- Return statement
- Apply collection data types to investigate data structures
- Lists
- Dictionaries
- Investigate classes and objects in object oriented programs
- A class as a data type
- Creating instances from a class
- Accessing member data and methods
Lab Topics
- Debug code and output results of execution
- Write and debug code that uses arithmetic expressions
- Write and debug code that uses selection statements and decision points
- Write and debug code using loops to implement repetition concepts
- Write and debug code that implements multiple user defined functions
- Write and debug code implementing file I/O
- Write and debug code that uses collection data types
- Write and debug code that uses Python classes