CIS 181 Computer Programming I (3)

Catalog Description:

This course introduces computer programming using the Python programming language. Students will develop programming skills through a series of projects that teach general programming techniques with an emphasis on interactive, visual programs. CIS 181 is designed for majors in Computer and Information Sciences, Digital Media, Engineering and Mathematics. Two lecture periods and two one-hour laboratories per week. Meets General Education Mathematical Sciences requirement. (Offered each semester.)


Prerequisites:


Familiarity with high school algebra. No previous experience with computers is assumed.

Required Course Materials:


John M. Zelle, Python Programming: An Introduction to Computer Science, 2nd edition, Franklin, Beedle and Associates Inc., 2010 (ISBN: 9781590282410)

Course Coordinator:


David R. Owen, Associate Professor of Computer Science

Course Audience:


This course is designed for majors in Computer and Information Sciences, Digital Media, Engineering and Mathematics. Open to all students.

Course Objectives:

 

A student who successfully completes the course will be able to:

  1. Design programs using Python for user input / output, manipulation of character strings and mathematical processing.
  2. Design basic GUI (graphical user interface) programs for image creation and manipulation, sound, and mouse-based user interaction.
  3. Read, write, modify, test and document programs using incremental development techniques.
  4. Succeed in future programming courses (having learned general, not just Python-specific, language features and programming techniques).


Topics:

  1. What is a computer?  What is computer programming?  What is computer science?
  2. Simple Python programs:  input, processing, output
  3. Programs that work with numbers (i.e., computation)
  4. Programs that work with pictures (turtle graphics, vector graphics, bitmap graphics)
  5. Strings, lists, file I/O
  6. Functions
  7. Logical branching (and basic Boolean logic)
  8. Loops
  9. Software engineering (strategies for designing larger programs)
  10. Images, sound, simple GUIs and games


 

Revised: October 2013 (course description); September 2011 (major revisions due to course restructuring)

Return to Course Index