CSC 241 Introduction to Computer Science I

Radha Jagadeesan

Office: CDM 653
Fall 2021-2022
Class number: 4011
Section number: 701
M 5:45PM - 9:00PM
14EAS 00512 Loop Campus
Course homepage:


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.

Course Goal.   Hard to do better than  Mildly edited.

"Computer programming is one of the most satisfying of all human activities—it's generally fun (when it's not frustrating because of a bug you can't find), but it's what Seymour Papert called "hard fun," mind-stretching and, because the authority is the computer rather than the teacher, a big change from jumping through hoops. It's a game of skill, like chess, but without the competitive aspect, and with useful results beyond the act of programming itself. That's the best reason to study computer science, and we want everyone to experience our joy in programming.

We think that computer programs (not just the pictures that programs can produce) are things of beauty. Yes, programs can also be ugly, if they are an unstructured mess.  But we will aim to share a sense of programming aesthetics that facilitates the development of complex, intricate computing processes from elegant and concise code.  This is the moment of revelation when we discover the beauty of programs."

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. After you have taken this class:

0. Develop some contextual understanding of the basic principles of computer science
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



(we will use electronic versions wherever available)


Attendance is mandatory for both lecture and lab sessions unless there are health related reasons for absence.  The course instructor will also supervise the laboratory sessions.  

There will be weekly labs, assignments and assigned reading.  All submissions will be via D2L; ; emailed submissions will not be accepted.  It is your responsibility to verify that your submitted files are readable, submitted on time, and submitted to the correct locations. Late submissions of homework assignments will be accepted for up to 24 hours with some penalty, but no late lab exercises will be accepted. 

Homeworks.  30%
Labs.             20%
Attendance   10%
Midterm         15%
Final               25%

Everyone must take the midterm and final exams at the scheduled times with the rest of the class in order to pass the class.   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 and/or Instructor permission

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