Syllabus |
||
CSC 243-601 |
|
Introduction to Computer Science for Programmers |
Spring 2024Monday/Wednesday, 3:10 - 4:40 pm, CDM 226 |
Professor: Amber Settle |
243 S. Wabash Avenue, room 748 Chicago, IL 60604 Phone: (312) 362-5324 asettle@cdm.depaul.edu http://facweb.cdm.depaul.edu/asettle/
Monday/Wednesday | 12:30 - 1 pm | |
Monday/Wednesday | 4:45 - 5:45 pm |
My office hours are held in room 748 of the CDM building, during which I am available in person, by phone, using Zoom, or by e-mail. If you contact me by email or phone during office hours is possible that there will be some delay before I respond. When you call, please leave a message that indicates the number you can be reached at and gives the best time to return your call. If you wish to meet with me using Zoom, please request an appointment in advance so that I can set up the meeting.
Please make use of my office hours. Asking questions about the assessments, course notes and examples, or the readings can improve your understanding enormously. It will also let me know if I need to review a topic with the class. If you want to talk to me during my office hours but are unable to do so for any reasons, please contact me to make an appointment outside those hours.
This course uses several platforms to enable our interactions:
In order to take this class you are required to have taken MAT 130: Precalculus or an equivalent high-school or college course covering algebra and precalculus. You also should have successfully completed (with a grade of B- or better) at least one quarter/semester of a high-level, object-oriented programming language such as Java or C++.
This is an accelerated course covering the essentials of programming, with a focus on problem solving, structured programming, and algorithm design. The concepts covered include collection types, conditional and iterative structures, functions, file input/output, exceptions, namespaces, recursion, an introduction to object-oriented programming, and Internet-client programming.
This course covers most of the material from CSC 241: Introduction to Computer Science I and selected topics from CSC 242: Introduction to Computer Science II in one quarter. As such, it is a course that should not be taken by novice programmers. At the same time, it is a course that is too fundamental for anyone who has already had a data structures class or has developed a significant number of recursive functions. Please talk to me if you're not sure about your placement in this class. Please note that if you have taken both CSC 241 and CSC 242, you should not take CSC 243. The next course in the sequence is CSC 300.
After you have taken this class:
The following gives all the important dates for this course. The topics covered are subject to change.
Week | Date | Topic/Deadline |
1 | Monday, April 1, 2024 | Basic data types, identifiers, input from the user, defining functions, and parameter passing |
Wednesday, April 3, 2024 | Iteration through sequence objects and conditional statements | |
Sunday, April 7, 2024 | Last day to add classes | |
2 | Monday, April 8, 2024 | Formatting output, string functions, and file I/O |
Wednesday, April 10, 2024 | File I/O | |
Sunday, April 14, 2024 | Last day to drop classes with no penalty | |
3 | ||
Monday, April 15, 2024 | File I/O and loop patterns (iterated, indexed) | |
Wednesday, April 17, 2024 | Loop patterns (indexed, accumulator), the math module, character encodings | |
4 | Monday, April 22, 2024 | Loop patterns (nested, while, infinite, interactive loops) and multidimensional lists |
Wednesday, April 24, 2024 | Exceptions and the random module | |
5 | Monday, April 29, 2024 | Dictionaries |
Wednesday, May 1, 2024 | Midterm exam: CDM 801, 3:10 - 4:40 pm | |
6 | Monday, May 6, 2024 | Dictionaries, other collection classes (sets, tuples) |
Wednesday, May 8, 2024 | Recursion | |
7 | Monday, May 13, 2024 | Recursion |
Wednesday, May 15, 2024 | Recursion | |
Sunday, May 19, 2024 | Last day to withdraw from classes | |
8 | Monday, May 20, 2024 | Recursion |
Wednesday, May 22, 2024 | Using and modifying programmer-defined classes | |
9 | Monday, May 27, 2024 | No class -- Memorial Day |
Wednesday, May 29, 2024 | Using and modifying programmer-defined classes | |
10 | Monday, June 3, 2024 | Web search fundamentals |
Wednesday, June 5, 2024 | Web search fundamentals | |
11 | Monday, June 10, 2024 | Final exam: Location TBD, 2:30 - 4:45 pm |
The required textbook for the
course is Introduction to Computing using Python: An Application Development
Focus, Second Edition, Ljubomir Perković, John
Wiley & Sons, 2015. Please
buy the electronic version of the text since it contains case studies that we
will be using. The electronic text has ISBN 978-1-118-89105-6
Course assessments include weekly programming assignments, a midterm, and final exam. The course grade will be computed as follows:
Assessment Percentage Programming assignments 25 % Midterm exam 35 % Final exam 40 %
All students will be required to sign and submit an Academic Integrity pledge at the start of the quarter. The Academic Integrity pledge will be posted on the D2L site. The pledge must be signed and submitted as a part of the first homework assignment. Students who violate this agreement are violating the Academic Integrity policy of DePaul University. See the section on Academic Integrity below for more information about that policy and penalties for violating it.
In order to do well in this class, you must attend the class sessions regularly, participate in class activities, read the chapters in the book as indicated in the homework assignment, start work on the assignments early, and ask questions early and often. The answers to the programming assignments and exam questions should be written in a way that is rigorous, clear, and concise.
Each week you will have a programming assignment. You can consult with your homework partners (who must be students in our class), the instructor, or the CDM tutors on the programming assignments, but you may not under any circumstances submit code that you have not helped to write nor may you consult anyone beyond those specified when completing your assignments. Each programming assignment will have a posted deadline, specified on the assignment. Assignments submitted by the deadline will be graded for full credit. Assignments submitted no later than 12 hours after the deadline automatically will lose 15% of the points. No assignments are accepted more than 12 hours after the deadline for any reason. Your lowest assignment score will be dropped in the calculation of your course grade.
The midterm and final exams will be cumulative. The midterm exam will take place on Wednesday, May 1, 2024, 3:10 - 4:40 pm. The final exam will take place on Monday, June 10, 2024, 2:30 - 4:45 pm. Both exams will be conducted in a lab and will require you to write Python code. The details about the logistics for the exams will be shared later in the quarter on the midterm and final exam study guides which will be posted to D2L.
In general, make-up exams will not be given. If you wish to petition for a make-up exam, you must notify me in advance and provide documented evidence of the emergency that will cause you to miss the exam. Failure to contact me in advance of the exam date and time will disqualify you from being allowed to take a make-up exam. If a make-up exam is granted, it will be of a form of my choosing.
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.
Cheating is any action that violates university norms or instructor's guidelines for the preparation and submission of assignments. This includes, but is not limited to, unauthorized access to examination materials prior to the examination itself; use or possession of unauthorized materials during the examination or quiz; having someone take an examination in one's place; copying from another student; unauthorized assistance to another student; or acceptance of such assistance. Plagiarism involves the presentation of the work of another as one's own. Plagiarism includes, but is not limited to the following: the direct copying of any source, such as written and verbal material, computer files, audio disks, video programs or musical scores, whether published or unpublished, in whole or part, without proper acknowledgment that it is someone else's; copying of any source in whole or part with only minor changes in wording or syntax, even with acknowledgment; submitting as one's own work a report, examination paper, computer file, lab report or other assignment that has been prepared by someone else (including research papers purchased from any other person or agency); the paraphrasing of another's work or ideas without proper acknowledgment; working so closely with another person so as to produce identical code.
All students are expected to abide by
the University's Academic Integrity Policy which prohibits cheating and other
misconduct in student coursework. The use of others' web/publication content
(text, graphics, code) is regarded as plagiarism if credit is not given (see the
above description of plagiarism). Using materials that the
student prepared for other purposes (e.g., for another course or for his/her
work) needs the course instructor's prior permission. 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.
A charge of cheating and/or plagiarism is always a serious matter. It can result in an automatic F in the course and possible expulsion.
Balancing the hard work of achieving your educational goals with the other demands of life is difficult at the best of times. For many of us, for a variety of reasons, things are more difficult now. I want to make sure you feel comfortable reaching out to me for support. The university also has great resources just a phone call or email away. These have been created and maintained for you, so use them:
DePaul University Counseling Services: Mental health is as important as physical health, and there are professionals a phone call away: (773) 325-7779 or 911 for emergency situations. You can find more information here: https://offices.depaul.edu/student-affairs/about/departments/Pages/ucs.aspx
The DePaul Dean of Students can help you with a wide range of topics, including figuring our if you should withdraw or apply for an incomplete: https://offices.depaul.edu/student-affairs/about/departments/Pages/dos.aspx
There are a lot of additional, more specific resources listed with the Office of Student Affairs, including crisis hotlines and sexual assault resources: https://offices.depaul.edu/student-affairs/support-services/counseling/Pages/Crisis-Hotlines.aspx
An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the Jarvis College of Computing and Digital Media. Students applying for an incomplete must have been earning a passing grade in the course prior to the emergency. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.