"An introduction to computer programming based upon early coverage of object-oriented principles such as classes, methods, inheritance and polymorphism, together with treatment of traditional flow of control structures. Good software development practices will also be established, including issues of design, documentation, and testing."
The official prerequisite for this course is College Algebra (Math 120) or its equivalent. No programming experience is necessary.
Our goal for this course is to introduce the basics of programming as well as the theory of object oriented programming languages. The programming languange for this course is Python, which is an excellent choice for teaching first time programmers. Students can expect to learn a great deal about programming structure and principles which will translate to other languages throughout their career.
In addition, we will also spend time on principles of good programming. In the work environment, it is not just simple speed or accuracy that is important. In large projects, you must also be able to write code that others will be able to understand and modify. To this end, we will articulate the basics of good programming practice and software engineering principles, topics which will be useful in all later programming endeavors.
Email contact with the course instructor is a necessity in this class, since homework will all submitted via email. I will check email several times throughout the work day, and will also check email once per evening to answer questions and resolve issues. Email contact over the weekend will likely be more sporadic, although I will be sure to check at least once.
Computers will be an integral part of this course, both inside and outside of class. However, out of courtesy to both the instructor and other students, please do not use the lab computers for non-class related activity. In particular, you do not need to be using a computer unless an exercise or in class activity requiring them is in progress.
You are unlikely to need cell phones during the course of lecture. Please ensure that your cell phone is set to vibrate or silent during lecture, and do not send text messages of any kind.
Quizes will be given every Friday during class. They will generally be given during the last few minutes of class, and will consist of 2 or 3 short questions about the material covered during the past week. Students will be allowed to drop their lowest quiz grade at the end of the semester.
We expect 10-12 programming assignments through the course of the semester. For programming assignments, late submissions will be accepted with a penalty of 10% per hour the assignment is late. For example, for a program due at 11:59pm, anything submitted between midnight and 12:59am will be worth at most 90% of full credit; anything submitted between 6am and 6:59am will be worth at most 30% of the full credit.
Students will also be able to drop their lowest programming assignment score at the end of the semester.
Letter grades will be based on each students overall percentage of awarded points according to the following formula.
Any modification to this scale at the end of the year will be in favor of the students. That is we may later decide to award an A to a student who is slightly below the cutoff, but we certainly will not deny an A from someone who is above the cutoff.
In general, extra credit will not be assigned in this class. The programming and homework assignments provided will be challenging enough for most students, so I would like for students to focus on the assignments provided.
Upon occasion (and solely at the instructor's discretion), some small extra credit activities may be included, either by announcement in class or as part of an assignment. Please keep in mind that the extra credit is unlikely to significantly affect your grade; if you are concerned about your final grade, it is much better to focus your energy on the regular assignment. Extra credit is solely designed to provide an opportunity to students who wish to explore the topics further.
Late homework or programming assignments will suffer a penalty of 10% for every hour they are late. For example, homework which is submitted between midnight and 12:59am will be worth at most 90%o of the total credit; anything submitted between 6am and 6:59am will be worth at most 30% of the full credit.
In unusual circumstances, such as extreme illness or injury (documented by a doctor's note), family emergencies, etc., please contact the instructor as early as possible to arrange accomidations.
I am happy to regrade any assignments, programs, quizzes or exam problems which you think were unfair or incorrect. Please bring me the original assignment, plus a written explanation of your question or complaint, within two weeks of the time the paper in question is graded and returned to you.
In the context of this course, I encourage students to discuss general course material, which includes studying for exams, sharing notes if a student must miss class, and working on any practice problems which are assigned. We will also have occasional programming assignments that will be completed in pairs. However, unless clearly stated otherwise in the assignment description, any work which will be submitted for a grade must be completed by individuals. In addition, the only acceptable sources of information are the course textbook, the instructor, official university tutors, or other sources which are explicitly mentioned in an assignment. Students may not use other sources, including (but not limited to) websites other than the official course website or those explicitly listed in course materials, textbooks other than those officially listed below, or students (either past or present).
Students who violate academic integrity policies will be reported to the department. First time offenses on homework will result in a minimum of a failing grade on the assignment in question, with egregious or repeated offenses resulting in failure in the course. In addition, students may be referred to the College of Arts and Sciences for further disciplinary action.
The following is a statement of minimum standards for student academic integrity at Saint Louis University; I expect full compliance with the policies described.
The University is a community of learning, whose effectiveness requires an environment of mutual trust and integrity. Academic integrity is violated by any dishonesty such as soliciting, receiving, or providing any unauthorized assistance in the completion of work submitted toward academic credit. While not all forms of academic dishonesty can be listed here, examples include copying from another student, copying from a book or class notes during a closed book exam, submitting materials authored by or revised by another person as the student’s own work, copying a passage or text directly from a published source without appropriately citing or recognizing that source, taking a test or doing an assignment or other academic work for another student, securing or supplying in advance a copy of an examination or quiz without the knowledge or consent of the instructor, sharing or receiving the questions from an on-line quiz with another student, taking an on-line quiz with the help of another student, and colluding with another student or students to engage in academic dishonesty.
All clear violations of academic integrity will be met with appropriate sanctions. In this course, academic dishonesty on an assignment will result in an automatic grade of 0 for that assignment and a report of academic dishonesty sent to the Academic Honesty Committee of the College of Arts and Sciences. (Instructors can change the sanction specified in the italicized text.) In the case of Class B violations, the Academic Honesty Committee may impose a larger sanction including, but not limited to, assigning a failing grade in the course, disciplinary probation, suspension, and dismissal from the University.
Students should refer to the following SLU website for more information about Class A and B violations and the procedures following a report of academic dishonesty: http://www.slu.edu/x12657.xml
Any student who feels that he or she may need academic accomidations in order to meet the requirements of this course, as outlined in the syllabus, due to the presence of a disability, should contact the Student Success Center. Please call the office at 314-977-8885 or email them at email@example.com to discuss the process and your options. Confidentiality will be observed in all cases.
Our department employees many junior/senior computer science majors to help out in our department labs. Those students are also available to provide assistance with course materials at such times.
Our department web page maintains a current list of the available times and locations.
As stated in the Academic Integrity policy, these workers are an acceptable resource for help, yet you should still document both the source of the help as well as the extent, if significant.