MCS-177: Introduction to Computer Science I (Fall 2013)

Overview

This course introduces the perspectives and methods of computer science. Symbolic information is represented as data, whether it be numbers, text, or images. Automated processes for operating on the data are represented by general procedures, known as algorithms. Those algorithms are written in a particular notation (a programming language) as programs. Students will learn how to carry out these tasks and how to think about computation in terms of general patterns, such as hierarchical composition or the use of interchangeable components with consistent interfaces.

Instructional Staff and Contact Information

Louis Yu will be the classroom instructor. Louis Yu, Max Hailperin, and Jeff Engelhardt will be the lab instructors. For information regarding our availability, please see our contact info.

World Wide Web

All course materials will be available through my World Wide Web page. The URL for this course is http://homepages.gac.edu/~lyu/teaching/mcs177-f13/.

Textbook

Our textbook is Python Programming in Context by Bradley N. Miller and David L. Ranum. I recommend that you order a copy in advance, either through the Book Mark or through another seller of your choice. the Book Mark cannot be counted on to have a copy on the shelf if you don't pre-order.

There are two editions of this book, the first and second editions. The second edition has had errors fixed and a few technical items updated. As such, it will provide the smoothest experience. However, the differences in the first edition, are minor and we can definitely help you work through its little glitches. You are likely to be able to get a better price on a used copy of the first edition. For this reason, we suggested the Book Mark stock the first edition. For a list of corrections to the first edition of the textbook, please see http://pycontext.blogspot.com/.

You are expected to read the relevant Chapters specified in the schedule before each lecture, as the lectures are meant to supplement your reading (note that lectures are NOT substitutes for reading). In each lecture I will ask questions on materials covered in the relevant Chapters to students generated by the "random student generator". Your understanding of the corresponding textbook materials will be part of your final grade.

Class/Lab Attendance

Attendance, both physical and mental, is required. I reserve the right to lower your grade if I feel you are missing or showing up late too often. Should you need to miss a class or lab for any reason, you are still responsible for the material covered in there. This means that you will need to make sure that you understand the reading for that day, that you should ask another student for the notes from that day, and that you make sure that you understand what was covered. If there is a project due that day, you should be sure to submit it (electronically) on time (thus, do not leave your project to the last minute). You do not need to explain why you missed a class unless there is a compelling reason to do so.

If you have influenza-like symptoms (temperature over 100 with headaches, sore throat, or cough), please call Health Service. If they say that you stay home, you should do so, and I request (but do not require) that you email me.

Projects and Lab Days

In the course of the semester, you will complete 10 projects. In each case, I will indicate what I expect of you. A project report that meets those expectations is due before the start of class on the date specified. If you submit the report late, your grade will drop one point per day late or fraction thereof. If you are too sick to complete a report on time, you will not be penalized. However, you need to talk to me or email me as soon as possible, and provide the necessary doctor's note. Other circumstances will be evaluated on a case-by-case basis. In general, you should talk to me or email me (asap) around the time of the incident.

On Tuesdays and Thursdays, we will meet in the OHS 326 computer lab. One or more of those lab days will be provided for you to work on each project. However, you will often need to spend additional time on the project outside of class .

Some of the lab days are not for project work. Instead, the syllabus lists a topic from the textbook with the prefix "In lab:". On these days, I will be covering material from the book, somewhat like on a class day, but in an environment where I can ask each of you to try things out on your individual computers. For each of these days where a textbook topic is covered in lab, the same topic is listed on the following class day. We will have this extra class time to go over the topic some more if you need it. Any remaining time will be available for us to talk about topics that are not in the textbook.

In-class Exercises and Class Participation

In class, you will be given exercises to work on in groups of two. You will practice writing programs without the help of a computer and it will help you prepare for exams. These exercises will be given at random times and collected for grading. At the end of the semester, 6 exercises will be chosen at random to count towards your grade. There will not be any make-up for in-class exercises.

During each lecture, I will ask questions related to the corresponding Chapter in the textbook. Students could volunteer to answer these questions or can be chosen to answer using my "random student generator". At the end of each lecture, the students who answered questions correctly will be given 1 point. At the end of the semester, a maximum of 10 points (and no more than 10 points) will be given to each student for class participation.

Tests

There will be two in-class tests during the semester and a final exam as scheduled by the registrar. If you have a conflict with a testing time, please contact me as soon as possible to make an alternative arrangement.

Tests will be closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference (written on both sides of the sheet are OK).

Grading

You will earn up to 440 grade points for your work on projects, in-class exercises and tests, divided as follows. Each of the 10 projects will be graded on a scale of 20 points, totaling 200 points. Each in-class exercise is worth 5 points, and 6 of them will be chosen at random, totaling 30 points. Class participation is worth 10 points (for students who answer 10 questions correctly during lecture). Each of the two tests that happens during the semester, in class, will be graded on a scale of 50 points, for 100 more points. The remaining 100 points will come from the comprehensive final exam. Your course grade will be recorded as follows:

A: 408-440 B+: 379-393 C+: 335-349 D+: 291-305 F: 0-261
A-: 394-407 B: 364-378 C: 320-334 D: 262-290
B-: 350-363 C-: 306-319

Please point out any arithmetic or clerical error I make in grading, and I will gladly fix it. You may also request reconsideration if you feel I have been especially unjust.

As noted above, I reserve the right to lower your grade if I feel you are missing or showing up late too often to classes or labs.

Finally, this semester we are using Moodle (http://moodle.gac.edu/) to keep track of your scores. The pro of doing so is that you know your score for a project as soon as it is graded. You can also keep track of your score for class participation. This will give you a pretty good idea of your current standing going into a test or an exam. Please see The Guide for Checking Your Grades Using Moodle for the general updating schedule and the instructions for checking your scores using Moodle.

Honor

Any substantive contribution to your project report by another person or taken from a web site or publication should be properly acknowledged in writing (by citing the source). Failure to do so is plagiarism and will necessitate disciplinary action.

The same standards regarding plagiarism apply to team projects as to the work of individuals, except that the author is now the entire team rather than an individual. Anything taken from a source outside the team should be be properly cited.

One additional issue that arises from the team authorship of project reports is that all team members must stand behind all reports bearing their names. All team members have quality assurance responsibility for the entire project. If there is irreconcilable disagreement within the team it is necessary to indicate as much in the report.

As a student at Gustavus you are expected to uphold the Honor Code and abide by the Academic Honesty Policy. A copy of the honor code can be found in the Academic Bulletin and a copy of the academic honesty policy can be found in the Academic Polices section of the Gustavus Guide.

Disability Services

Section 504 of the Rehabilitation Art of 1973 and the Americans with Disabilities Act (1990) work together to ensure "reasonable accommodation" and non-discrimination for students with disabilities in higher education. A student who has a physical, psychiatric/emotional, medical, learning, or attentional disability that may have an effect on the student's ability to complete assigned course work should contact the Disability Services Coordinator in the Advising Center, who will review the concerns and decide with the student what accommodations are necessary. Disability Services Coordinator Laurie Bickett (6286) can provide further information.

Help for Students Whose First Language is not English

The Writing Center has on staff a part-time tutor with professional training in ESL/ELL instruction. Students can schedule work with this tutor by contacting the Writing Center. Students may bring their instructor's documentation concerning their ELL status. Where it is appropriate, faculty may choose to allow such students more time to complete either in- or out-of-class writing assignments. For further information, contact the Academic Advising Office.