De Anza logo Course Outlines

Public Search

 
 
Close Window/Tab
PRINT VIEW -- Opens in new, second window. Use browser controls to close when finished.
Credit- Degree applicable
Effective Quarter: Fall 2021

I. Catalog Information

CIS 40
Introduction to Programming in Python
4.5 Unit(s)

 

Requisites: Advisory: EWRT 211 and READ 211, or ESL 272 and 273; MATH 114 or equivalent.

Hours: Lec Hrs: 48.00
Lab Hrs: 18.00
Out of Class Hrs: 96.00
Total Student Learning Hrs: 162.00

Description: 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.


Student Learning Outcome Statements (SLO)

 

• Student Learning Outcome: Design, code, document, analyze, debug, and test introductory level Python programs


II. Course Objectives

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

III. Essential Student Materials

 None

IV. Essential College Facilities

 Access to a computer with the Python Interpreter

V. Expanded Description: Content and Form

A.Investigate an overview of computer organization
1.Components of a computer
a.Hardware
b.Operating System
c.Applications
2.Data representation: binary, decimal, hexadecimal
3.The instruction cycle
B.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
C.Evaluate different data types
1.Keywords and identifiers
2.Integral data types
a.Integers
b.Boolean
3.Floating point data types
4.Strings
D.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
E.Choose flow control statements to apply programming logic
1.Flow charts
2.Selection
a.Branching logic
b.if else statements
c.Nested if statements
3.Repetition
a.Looping logic
b.for loop
c.while loop
d.Nested loops
F.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
G.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
H.Apply collection data types to investigate data structures
1.Lists
2.Dictionaries
I.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

VI. Assignments

A.Reading: Required reading from the textbook and class notes
B.Programs: 8-10 programming homework assignments, several with 100 or more lines of code.

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

VIII. Methods of Evaluating Objectives

A.Evaluation of programming assignments for correctness, design, documentation, and efficiency.
B.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.
C.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.
D.A final exam requiring programming ability to develop an algorithm, evaluate code segments, and write code using specific programming constructs presented in the course.

IX. Texts and Supporting References

A.Examples of Primary Texts and References
1.Downey, Allen B., Think Python, 2nd ed., Green Tea Press, 2016. Free download at: https://greenteapress.com/wp/think-python-2e/
B.Examples of Supporting Texts and References
1.Swaroop, C.: A Byte of Python. Free download at: http://www.ibiblio.org/g2swap/byteofpython/read/

X. Lab Topics

A.Debug code and output results of execution
B.Write and debug code that uses arithmetic expressions
C.Write and debug code that uses selection statements and decision points
D.Write and debug code using loops to implement repetition concepts
E.Write and debug code that implements multiple user defined functions
F.Write and debug code implementing file I/O
G.Write and debug code that uses collection data types
H.Write and debug code that uses Python classes