|
CIS 122
Introduction to Programming and Problem Solving
|
|
Course Description
Computational problem solving, algorithm design, data structures, and
programming using a multi-paradigm programming language. Introduces
techniques for program design, testing, and debugging.
Instructor
Phil Colbert, pcolbert@cs.uoregon.edu
Lectures and Labs
Two 90-minute lectures and a 1-hour lab are delivered each week.
Prerequisites
- Math 101 or equivalent required.
Textbooks and Readings
-
(Required)
Think Python: How to Think Like a Computer Scientist, 2nd
edition, by Allen B. Downey (O'Reilly Media: 2015)
Major Topics
- Fundamental Python Programming Topics: 9 lectures
- Data Structure Programming Topics: 5 lectures
- Problem Solving Topics: 4 lectures
- Algorithm Design and Implementation Topics: 2 lectures
Expected Learning Outcomes
Upon successful completion of the course, students will be able to:
- Utilize Python programming tools
-
Solve programming problems using the following elements:
- Variables, expressions/operators, and statements
- Primitive data types
- Functions, scope, and stack diagrams
- Drawing primitives
- Control structures: repetition, iteration, and break
-
Conditional execution: Boolean expressions, and logical operators
- Encapsulation, generalization, composition, and interfaces
- Keyboard and file input
- Strings, lists, dictionaries, and tuples (optional)
- Implement code refactoring, and conduct incremental development
-
Apply testing and debugging concepts, skills and tools:
-
Identify and resolve the three categories of errors: syntactical,
logical, and runtime
- Apply consistent coding standards
-
Apply problem solving skills to design and implement programming code
-
Exercise self confidence and persistence in solving problems using logic
and Python
Acquired Skills
Upon successful completion of the course, students will have acquired the
following skills:
- Solving programming problems using logic, pseudocode, and Python
- Implementing basic Python programming skills
- Applying testing and debugging concepts, skills, and tools
- Applying consistent coding standards
- Applying refactoring and incremental development
-
Exercising self confidence and persistence in solving problems using
logic and Python
Course Requirements and Grading
Grading will be based on the following criteria:
Percentage |
Component |
40 |
Projects |
60 |
Exams |
Graded or P/N.
Grading Scale
CIS 122 uses a straight percentage (no curve) to calculate your final
grade.
A |
A+ (see * below) |
A >= 94 |
A- 90.00-93.99 |
B |
B+ 87.00-89.99 |
B 84.00-86.99 |
B- 80.00-83.99 |
C |
C+ 77.00-79.99 |
C 74.00-76.99 |
C- 70.00-73.99 |
D |
D+ 67.00-69.99 |
D 64.00-66.99 |
D- 60.00-63.99 |
F |
F <= 59.99 |
|
|
*A+ grades are awarded by instructor discretion following CIS guidelines
that indicate a student has excelled in all course topics.