CSC 241 Introduction to Computer Science I

Eric Schwabe

Office: CDM 739
Fall 2023-2024
Class number: 12688
Section number: 402
MW 11:50AM - 1:20PM
CDM 00801 Loop Campus
Course homepage:


Course Material: An introduction to problem solving, algorithms and structured programming using a higher-level programming language. The course will focus on skills for developing algorithms, and for writing and debugging programs. Students will learn how and when to use loops, conditionals, and functional abstractions in the context of problems motivated by real world applications.

Learning Goals: This course is the first of a two-course sequence introducing computer science. The focus of the course is on problem solving, algorithm development, and structured and object-oriented programming using Python and the Python API (application programming interface), all in the context of building computer applications. In the first course we will focus on structured programming and learn how and when to use conditionals, loops, and functional and modular abstractions. After you have taken this class:

1. You will understand that a main focus of computer science is developing applications for computer systems.
2. You will have stronger problem solving skills.
3. You will know how to develop algorithmic solutions for basic computational problems.
4. You will understand fundamental programming structures such as expressions, assignments, decision and iteration structures, functions and modules.
5. You will have basic Python programming skills.
6. You will be prepared for the second course in the sequence, CSC 242: Introduction to Computer Science II

Approximate Weekly Schedule:

Weeks 1-2: Intro to Python programming, data types, input and output (Chs 1-3)
Weeks 3-4: Basic functions, decisions and iteration (Ch 3)
Weeks 4-5: Text and file processing and exception handling (Ch 4)
Weeks 6-8: More complicated decisions and iteration (Ch 5)
Weeks 8-9: Dictionaries and other collections (Ch 6)
Week 10: The random module and course review


Introduction to Computing Using Python: An Application Development Focus (second edition), by Ljubomir Perkovic, ISBN 978-1-118-89105-6. (E-book version is recommended.)


There will be homework assignments given most weeks. Assignments (with associated readings) will be posted on the course web site and submissions will be due one week later, unless otherwise noted. The homework assignments will be worth a total of 20% of the course grade.  There will be required lab sessions each Tuesday, supervised by the lab instructor. Each lab session will also require the submission of one or more files through the course web site. The lab exercises will be worth a total of 10% of the course grade.

For both the homework assignments and lab exercises, it is your responsibility to verify that your submitted files are readable, submitted on time, and submitted to the correct locations. All submissions must be made through the course web site; emailed submissions will not be accepted. Late submissions of homework assignments will be accepted for up to 24 hours with a 15% penalty, but no late lab exercises will be accepted.  Your lowest homework score and lowest lab score will be dropped in the computation of your course grade.

There will be a midterm exam given in class on Wednesday, October 11th that will be worth 35% of the course grade and a final exam given 11:30am-1:45pm on Monday, November 20th that will be worth 35% of the course grade. (The final exam will cover material from the entire quarter.) If you do not take both the midterm and final exams, you will automatically receive a grade of F for the course. Furthermore, everyone must take the midterm and final exams at the scheduled times -- as a rule, no make-up exams will be given. If you wish to petition for a make-up exam in an emergency situation, you must contact me in advance and provide written documentation of the emergency.


MAT 130 or Mathematics Diagnostic Test placement into MAT 140


Regarding Email Communication: Please begin the subject line of any email to me with "CSC 241", so that I can easily identify course-related messages. I will reply to email messages within one business day after I receive them; therefore questions that are only received by me on an assignment's due date are not guaranteed replies before the assignment is due. Please plan accordingly and begin the assignments early enough to ask questions and receive answers. If you are having problems, send me a detailed description of the problems you are having; I will guide you in locating and solving your problems yourself, rather than simply solve your problems for you. For general questions, please consult the course syllabus, course announcements, and course Discord server for answers before emailing me. Please do not use the comment field of the assignment submission system to send me questions.

Regarding Academic Integrity: This course is subject to the university's academic integrity policy. More information can be found at Violations of the Academic Integrity Policy will be dealt with decisively; in particular, penalties for cheating, plagiarism, and/or complicity as defined in the policy may range up to an automatic F in the course and possible expulsion for repeated offenses.

Plagiarism includes, but is not limited to:  Turning in another person’s work as your own; Starting with another person's work and modifying it to turn in as your own; Cutting and pasting, or otherwise copying, sections of another person's work into your assignment; Allowing another person (such as a tutor) to write any part of your assignment; Turning in solutions generated by a chat bot, other generative AI, or automated code generator (even with later modifications); and so on.  (Any examples that I post, as well as any solutions generated by a chat bot, other generative AI, or automated code generator are all considered "another person's work" in this context.)  Supplying such assistance to another student is also considered a violation of the policy.

You may always discuss the course material with other students, and you may also discuss assignments at a general level. However, when completing your assignments, you must work individually and neither share your solutions with other students nor consult other students' solutions. If you have questions, consult the instructor or a CDM tutor.  Any assignment you submit must be entirely your own individual work.

School policies:

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at If you have any questions be sure to consult with your professor.

All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296