CSC 241 Introduction to Computer Science I
Summary
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 https://bjc.berkeley.edu/curriculum/. 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
Texts
1. http://composingprograms.com/
2. https://greenteapress.com/thinkpython2/html/index.html
3. http://www.bitsbook.com/
4. https://www.basicbooks.com/titles/douglas-r-hofstadter/godel-escher-bach/9780465026562/
(we will use electronic versions wherever available)
Grading
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.
Prerequisites
MAT 130 or Mathematics Diagnostic Test placement into MAT 140 and/or Instructor permission
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