CSC 242 Introduction to Computer Science II
Summary
This course is the second of a two-course sequence introducing computer science skills, including problem solving, algorithm development, recursion, and programming using Python. In this course, we will apply these skills in several application areas of computer science: graphical user interface (GUI) development, database development, and Internet and distributed computing. The concept of a class and object-oriented programming will be motivated and introduced.
Course Goals
After you have taken this class:
- You will strengthen your Python programming skills
- You will know how to design classes and understand the fundamental principles of object-oriented programming
- You will be able to design basic graphical user interfaces
- You will be able to apply recursion as a problem-solving and programming technique
- You will be able to write simple Internet client programs
- You will have a basic understanding of the database API
Texts
Grading
Assignment |
Weight |
Nine assignments (5 points each) |
20% (40 points, best 8 of 9) |
Nine lab exercises (2.5 points each) |
10% (20 points, best 8 of 9) |
Two quizzes (10 points each) |
10% (20 points) |
Midterm Exam |
25% (50 points) |
Final Exam |
35% (70 points) |
Students receiving more than 90% of possible points are guaranteed at least an A-, more than 80% at least a B-, more than 70% at least a C-, and more than 60% at least a D.
Students are expected to attend class and lab sessions in person. When attending in person is not possible (e.g. because of sickness), students are still responsible for the course content, which may involve accessing notes, examples and watching any recorded content.
Quizzes must be taken in person. If a quiz is missed, its score will be inferred from the score on the subsequent exam, minus a 1 point penalty. Generally, labs require in person attendance for full credit, although some accommodations can be made for remote completion for some labs.
Attendance is noted, although not formally counted in the grade.
Labs
The goal of the labs is to practice concepts taught in the class. Collaboration is encouraged. However, all collaboration must be documented in the submissions. A submitted lab without documentation of collaboration or external use of resources constitutes a violation of academic integrity.
Attendance at the lab is generally expected. Students who do not attend the lab should plan on completing and submitting the lab before the beginning of the lab period. Later submissions are not guaranteed any support or help from the TA or instructor. Joint submissions without lab attendance are not permitted.
Labs are due one hour after the lab period ends. Late labs are subject to a half-point penalty and are allowed uuntil the lab submission box closes at the end of the following day. Labs that are submitted after the submission box closes will not be accepted without a documented excuse filed with the Dean of Students office.
Assignments
The goal of assignments is to become proficient with the concepts taught in class. Submissions must have code that use constructs and conventions taught in class. Code with other constructs and conventions, such as that offered by online resources and AI agents, are subject to receiving no credit.
You are expected to individually complete your own assignments. However, some collaboration with other students is allowed for assignments. The following types of collaboration are allowed:
- Discussing strategies for solving a problem
- Explaining why a script does not work
- Reviewing and testing someone else's programming script
- Using Python code provided by the instructor and texts
Students are invited to discuss labs and assignments on the class-sanctioned online forum (e.g. designated Discord channel). However, discussion should not include anything more than short snippets of code (less than one line).
The following types of collaboration are not allowed for assignments:
- Copying someone else's Python code
- Literally telling someone what code to write
Engaging in these last two types of collaboration will be considered a violation of the university's policy on academic integrity. Violators will receive a zero for the corresponding assignment and will be reported as required by the policy.
Late assignments will be accepted up to three days late with a one point penalty. Assignments submitted more than 3 days after the due date will not be accepted without an excused absence cleared by the dean of students office.
Additional assignments for extra credit will not be offered.
Exams
When completing exams, students may not collaborate with any other person, nor use any external resources. Collaboration with others on exams will be considered a violation of the university's policy on academic integrity. Violators will receive a zero for the corresponding exam and will be reported as required by the policy.
Exams can be made up with a serious documented excuse (e.g. illness, death in the family) and must be arranged as soon as possible. Arrangements involving other excuses require prior permission from the instructor.
All grade challenges must be submitted in writing and include an explanation why the given score or grade should be reconsidered.
Prerequisites
You must have taken CSC 241: Introduction to Computer Science II or an equivalent course that introduces problem-solving techniques and programming in Python and earned a passing grade (C- or better). I will also assume that:
- You know how to create, debug, compile, and run Python, and you use a reasonable coding style (i.e. your code is easy to read and relatively concise)
- You know Python's basic control structures (e.g. conditions, loops) and types (e.g. strings, lists, dictionaries)
- You can solve basic computing problems
Tentative Schedule
Week |
Topic |
Reading |
Lab Exercise |
Assignment |
Jan 9 & 11 |
Course overview, Review of objects, methods, classes and namespaces |
Ch. 7, 8 |
Lab 1 |
Syllabus assignment |
Jan 16 & 18 |
Object-oriented programming |
Ch. 8 |
Lab 2 |
Assn 1 |
Jan 23 & 25 |
OO and UI development |
Ch. 8, 9 |
Lab 3 |
Assn 2 |
J/F 30 & 1 |
UI development |
Ch. 9 |
Lab 4 |
Quiz 1 (Tues); Assn 3 |
Feb 6 & 8 |
Recursion |
Ch. 10 |
Lab 5 |
Assn 4 |
Feb 13 & 15 |
Search and sorting |
Ch. 10 |
Lab 6 |
Midterm (Tuesday) |
Feb 20 & 22 |
Recursion applications |
Ch. 10 |
Lab 7 |
Assn 5 |
Feb 27 & 29 |
Web intro |
Ch. 11 |
Lab 8 |
Assn 6 |
Mar 5 & 7 |
Web and app development |
Ch. 11 |
Lab 9 |
Quiz 2 (Tues); Assn 7 |
Mar 12 & 14 |
Database API |
Ch. 12 |
Lab TBD |
Assn 8 |
Mar 21 |
|
|
|
Final Exam (Thursday) |
Final exam for TuTh morning class (section 501): Thursday March 21 from 8:30 AM to 10:45 AM.
Final exam for TuTh afternoon class (section 506): Thursday March 21 from 11:30 AM to 1:45 PM.
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.
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.
This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ 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.
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 http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.
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