Syllabus |
||
CSC 243-401 |
|
Python for Programmers |
Fall 2014Mondays/Wednesdays, 11:50 am - 1:20 pm, CDM 220 |
Professor: Amber Settle |
243 S. Wabash Avenue, Room 748 Chicago, IL 60604 Phone: (312) 362-5324 FAX: (312) 362-6116 Skype ID: amber.settle asettle@cdm.depaul.edu http://facweb.cdm.depaul.edu/asettle/
Monday | 4:30 - 6 pm | Loop |
Wednesday | 4:30 - 6 pm | Loop |
I am available during office hours in person, by phone, using Skype, or by e-mail. Since students may be present in person during those hours, it is possible that there will be some delay before I respond to e-mail, phone calls, or Skype requests. 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.
Please make use of my office hours. Asking questions about the assessments, lecture notes, labs, 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.
The web site for this course is Desire2Learn (D2L). To log onto the D2L page visit https://d2l.depaul.edu/. Lecture notes, programming assignments, study guides for the midterm and final exam, and other course materials will be available through the D2L site. There will also be links to course recordings.
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 of a high-level programming language.
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. Please talk to me if you're not sure about your placement in this class.
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 | Wednesday, September 10, 2014 | Basic data types (numeric types, strings, lists), identifiers, input from the user, defining functions |
Monday, September 15, 2014 | Iteration through sequence objects and conditional statements | |
Tuesday, September 16, 2014 | Last day to add classes | |
2 | Wednesday, September 17, 2014 | More about conditional statements, string processing, and parameter passing |
Monday, September 22, 2014 | File I/O | |
Tuesday, September 23, 2014 | The last day to drop classes with no penalty | |
3 | ||
Wednesday, September 24, 2014 | Loop patterns (iterated and counter loops) | |
Monday, September 29, 2014 | Loop patterns (accumulator and while loops) | |
4 | Wednesday, October 1, 2014 | Loop patterns ( nested loops) and multidimensional lists |
Monday, October 6, 2014 | Dictionaries | |
5 | Wednesday, October 8, 2014 | Additional collection classes (sets, tuples) and character encodings, |
Monday, October 13, 2014 | Exceptions, randomness, and a discussion of the midterm | |
6 | Wednesday, October 15, 2014 | Midterm exam: 11:50 am - 1:20 pm |
Monday, October 20, 2014 | Discussion of the midterm and namespaces | |
7 | Wednesday, October 22, 2014 | Recursion |
Monday, October 27, 2014 | Recursion | |
Tuesday, October 28, 2014 | Last day to withdraw from classes | |
8 | Wednesday, October 29, 2014 | Recursion |
Monday, November 3, 2014 | Recursion and using programmer-defined classes | |
9 | Wednesday, November 5, 2014 | Using and modifying programmer-defined classes and web search fundamentals |
Monday, November 10, 2014 | Web search fundamentals | |
10 | Wednesday, November 12, 2014 | Web search fundamentals |
Monday, November 17, 2014 | Web search fundamentals | |
11 | Wednesday, November 19, 2014 | Final exam: 11:45 am - 2 pm |
The required textbook for the course is Introduction to Computing using Python: An Application Development Focus, Ljubomir Perković, John Wiley & Sons, 2012, ISBN 978-0-470-61846-2.
If you would like additional references, check the links in the Content area of the D2L site.
Course assessments include lab attendance, programming assignments, and a midterm and final exam. The course grade will be computed as follows:
Assessment Percentage Programming assignments 30 % Midterm exam 35 % Final exam 35 %
All students will be required to sign and return 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 returned 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 lectures regularly, participate in class discussions, 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, the instructor, and 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. No late assignments are accepted 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, October 15, 2014, 11:50 am - 1:20 pm. The final exam will take place on Wednesday, November 19, 2014, 11:45 am - 2 pm. Both exams will be conducted in a lab and will require you to write Python code.
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.
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.
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). When you directly quote someone's work, you must put it in quotation marks. Without such quotations and reference, it is regarded as an act of plagiarism (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.
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.
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 College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.