CSC 221: Introduction to Programming
Fall 2023

Section A
MW 9:00-10:45
Eppley 110
Dr. David Reed
209A Hitchcock
DaveReed@creighton.edu

(Free) Online Text:

Foundations of Python Programming: Functions First, Matthew Hrehirchuk, Eric Chalmers, Charlotte Curtis & Patrick Perri.

Course Description

This course provides an introduction to problem solving and programming using the Python scripting language. The process of programming is much more than just writing code. It involves analyzing the problem at hand, designing a solution, implementing and testing that solution, and critiquing results. The python language is designed to naturally introduce fundamental concepts of programming and make it possible to being solving nontrivial problems quickly.

The specific goals of this course are:

This course is intended as a first programming course, so no prior experience with computers is assumed. The problem-solving and programming techniques introduced in this course are further expanded in the follow-up course, CSC 222: Object-Oriented Programming.

Course Structure

This course will utilize an online, interactive textbook. Embedded in the chapters are example programs that can be executed and modified to better understand the programming concepts. Students are expected to have reviewed the assigned chapter sections before each class, so that thay are already familiar with the concepts. Class sessions will include active-learning exercises, where students will discuss and implement solutions to small problems.

Students are expected to attend classes in person. It is essential that students adhere to all Creighton community standards, including behaving in respectful manner and contributing to a positive learning environment. Disruptive or disrespectful behavior may result in removal from class. Students are expected to bring their own laptops, although a limited number of computers are available in the classroom if needed.

If you must miss a class because of an emergency, you are expected to notify the instructor as soon as possible. If you are sick, contact the Student Health Education and Compliance Office (402-280-2735) immediately and follow their recommendations. Be aware that all class materials posted on Blueline, including assignments, quizzes, and discussions, are considered to be copyrighted and are intended to be used only by students enrolled in the class, for the purposes of fulfilling the course objectives. Recording lectures without permission or sharing any of these materials with others outside of the course will be considered "misuse of academic resources," as defined in the Creighton University Student Handbook.

Instructor office hours:    MW 11:00-12:00, TR 2:00-3:00 (or by appt.)    Hitchcock 209A or creighton.zoom.us/my/davereed

Required Work

Learning to program requires a consistent time commitment, as each new concept and programming technique builds on those that came before. To encourage students to keep up with the course content and to provide immediate feedback, each class period will begin with a "random" quiz. A quiz will be posted to highlight important concepts, but only administered for credit with a 50% likelihood. To allow for unavoidable absences, the two lowest quiz grades will be dropped.

To demonstrate problem solving and programming skills, students will complete 6-8 programs throughout the semester. Each assignment will involve the design and implementation of a Python program, and may also include a written component in which the behavior of the program is analyzed. Late assignments will be accepted up to 7 days after their due date, with a maximum of 75% credit. Beyond 7 days, late submissions will not be accepted. In addition, there will be two 75-minute tests and a cumulative 100-minute final exam.

daily quizzes/exercises 10 %
6-8 programming assignments 40 %
two 75-minute tests 30 %
100-minute final exam 20 %

The final grade for the course will be based on the above weightings. At the minimum, traditional grading cutoffs for the final average will apply. That is, 90% is guaranteed an A, 87% is guaranteed a B+, etc. Depending on class performance, some shifting of grades (in an upward direction only) may occur as final letter grades are assigned.

Regular attendance is expected of all students. If you must miss class for a legitimate reason, it is your responsibility to make up missed work. Quizzes and Assignments will not be rescheduled except in extreme circumstances.

It is expected that all students check their Creighton email accounts regularly. Official announcements, such as assignment revisions or class cancellations, will be distributed through Creighton email.

Policy on Collaboration

Creighton's policy on cheating and plagiarism is spelled out in the Student Handbook, with college procedures available online. Unless the assignment explicitly states otherwise, homework assignments are to be completed by each student independently, with no outside assistance in program design or debugging (which includes AI tools). Violations of the collaboration policy will be dealt with severely, with possible outcomes including failure in the course.

Daily Schedule (check regularly for updates)

Date Topic Readings Assignments
Aug 16
Course overview. (pptx) Ch 1  
21
23
Variables, Statements & Expressions: (pptx)
     data types, variables, user input.
Ch 2
 
HW1: due 8/28
 
28
30
Debugging (pptx) & Functions: (pptx)
     parameters, local variables, return.
Ch 3
Ch 4
HW2: due 9/6
 
Sep 4
6
LABOR DAY -- NO CLASS
Conditionals: (pptx)
 
Ch 5
 
HW3: due 9/21
11
13
     if, if-else, boolean expressions, more for.
Iteration (pptx)
 
Ch 6
 
 
18
20
CLASS CANCELED
Test review and prep
 
 
 
25
27
TEST 1
Sequence Iteration. (pptx)
 
Ch 7
 
HW4: due 10/6
Oct 2
4
Sequences & strings: (pptx)
     len, indexing, slicing, string methods.
Ch 8
 
 
 
9
11
FALL BREAK -- NO CLASSES
16
18
Lists: (pptx)
     list vs. string, list methods, mutability.
Ch 9
 
HW5: due 11/1
 
23
25
Lists & files. (pptx)
Nested lists & dictionaries. (pptx)
Ch 11
Ch 10
 
 
30
Nov 1
     lists of lists, counters vs. lists vs. dictionaries.
Test prep
 
 
 
HW6: due 11/15
6
8
TEST 2
Problem solving: (pptx)
 
 
 
13
15
Classes and objects: (pptx)
     OO approach, classes & objects, scope.
Ch 13
 
 
HW7: due 11/29*
20
22
Image processing: (pptx)
THANKSGIVING BREAK -- NO CLASS
 
 
 
 
27
29
     image formats, pixels, steganography.
course overview (pptx)
 
 
 
 
Dec 4   FINAL EXAM     Monday, 8:00-9:40

Access sample code from class


Creighton University may modify, suspend, or postpone any and all activities and services immediately and without notice because of force majeure causes beyond Creighton's control and occurring without its fault or negligence including, but not limited to, acts of God, fire, war, governmental action, terrorism, epidemic, pandemic, weather, national emergencies, or other threats to the safety of students or staff. Creighton may, at its option, alter the academic schedule or provide alternate instruction modalities to meet course objectives and competencies and program outcomes, including, but not limited to, distance or remote learning, until such time as Creighton determines normal operations may resume safely.