CS 105L: Introduction to Computer Programming using Python
Spring 2013
Computer Science Department
University of New Mexico
|
|
Instructor:
Joel Castellanos
Department of Computer Science
Course Description
CS-105L, Introduction to Computer Programming, is a gentle and fun introduction. Students will use a simple Integrated Development Environment to author small programs in a high level language that do interesting things.
Pre-Requisites: None.
Co-Requisites: None.
CS-105L will be taught using the Python programming language. Python is a general purpose programming language that is relatively easy to learn. Python runs on Windows, Linux/Unix, and Mac OS. Python is free to use, even for commercial products, and is open source. Students will author Python code using a simple Integrated Development Environment such as IDLE or PyScripter.
In addition to python programming, the course also covers some of the great ideas in computer science such as modeling, visualization, emergence, search engine page ranking systems, and complex adaptive systems.
CS-105 is a hybrid course with the "lecture" segment bring online and the laboratory segment meeting in a computer lab with at most 20 students per section.
Throughout the course, students will author many short programs (usually less than fifty lines) that preform two-dimensional graphics, animations and customized image manipulations.
Toward the end of the course, students will work in small groups to develop one or more of their mini-projects into a slightly longer, slightly more polished capstone project to be presented at Mesa del Sol Student Showcase to an audience of peers, UNM faculty from the School of Engineering, the College of Arts and Sciences, the College of Fine Arts, and Anderson School of Management together with people form the larger Albuquerque community.
CS-105 is designed as a first course in computer programming for:
- Pre-CS majors who do not have previous programming experience and are not yet
ready for the fast pace and rigor of CS-152 (Computer Programming Fundamentals).
Note: CS-105 do NOT count as CS credit for a CS major.
- Students without programming experience who want to learn the
basics of programing, an introduction to the Python programming
language, and gain practical skills in using programs and scripts to
create customized multi-media effects and other tasks.
Syllabus & Lab Schedule:
Textbook & Video Lectures:
Notes & Other References:
- Official Python v3.2.3 documentation
- Handout 0: Introduction to Python, by Emilia Azure.
- Handout 1: A Tour Around Python, by Emilia Azure.
- Handout 2: The Evils of eval(), by Emilia Azure.
- Handout 3: Introduction to Python, by Emilia Azure.
Assignments & Source Code:
- Week 1-7
- Week 8: Turtle Graphics
- source code: TurtleArt.Danielle.Lord.py
Cool geometric pattern with excellent color combinations. Danielle created this
without using loops, if statements, functions or any other topics beyond chapter 3.
It is okay for any of you to use functions we have not yet covered, but the fact that Danielle
did not, makes this an especially nice example.
- source code: TurtleArt.Jeniffer.Wheeless.py
Jeniffer creates nice Spirograoh type patterns. She too did not use topics beyond chapter 3.
- source code: TurtleArt.Maria.Johnson.py
"Easter in Taos" by Maria Johnson.
- source code: TurtleArt.RandyRoamell.py
"This is Cool" by Randy Roamell.
- source code: TurtleArt.Sharon.Garcia.py
"Starry Night" by Sharon Garcia.
- source code: TurtleArt.Cody.Murray.py
This work by Cody Murray illistrates a number of topics we have not yet covered: Random, functions, and loops.
- source code: TurtleArt.garrett.goeckner.py
Fibonacci Trees by Garrett Goeckner.
- Week 9: Chapter 4: “if” Statements
and Simple Collision Detection (a first step at making a game)
- Week 10: Chapter 5: Loops
- source code: LoopsWithTurtles.py
Example Python program that uses if, loops and assignments to create a
spirograph type image with turtle graphics.
- Week 11: Chapter 6: Using Functions
Past Exams:
Midterm Exam from Fall 2012
Final Exam from Fall 2012