CSC 241 Introduction to Computer Science I
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.
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:
- You will understand that a main focus of computer science is developing applications for computer systems.
- You will have stronger problem solving skills.
- You will know who to develop algorithmic solutions for basic computational problems.
- You will understand fundamental programming structures such as expressions, assignments, decision and iteration structures, functions and modules.
- You will have basic Python programming skills.
- You will be prepared for the second course in the sequence, CSC 242: Introduction to Computer Science II
Introduction to Computer Science with Python, 2nd edition (ebook) Ljubomir Perkovic, Wiley, 2015. ISBN (ebook): 978-1-118-89105-6
|Eight programming assignments (10 points each)
||35% (70 points, best 7 of 8)
|Nine lab exercises (2.5 points each)
||10% (20 points, best 8 of 9)
||20% (40 points)
||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 every class and lab. Attendance will be informally kept even though it is not a part of the course grade.
Tests and quizzes 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.
The goal of assignments is to practice the concepts taught in class. You are expected to do your own assignments. However, some collaboration with other students is allowed and even encouraged. 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
The following types of collaboration are not allowed:
- 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 0 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.
All grade challenges must be submitted in writing and include an explanation why the given score or grade should be reconsidered.
MAT 130 or placement into MAT 140
||Course overview, Intro to CS, Expressions
|Sep 16 & 18
||Assignment statements, data types
||Ch. 2, 3.1
|Sep 23 & 25
||I/O, Control statements
|Sep 30 & Oct 2
||Functions, Complex Data Types
||Ch. 3, 4
|Oct 7 & 9
|Oct 14 & 16
|Oct 21 & 23
|Oct 28 & 30
||Patterns and loops
|Nov 4 & 6
|Nov 11 & 13
||Functions and namespaces
The final exam is on Wednesday November 20, 2019, from 8:30 AM to 10:45 AM.
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 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