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

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

Professor Louis Yu will be the instructor for lecture sections of the class. Professor Aaron Nienow and Jeff Ford will be the instructors for the lab sections. For information on our availability, please see our contact information.

World Wide Web

All course materials will be available on the course website and on Moodle (http://moodle.gac.edu/). The URL for the course is http://homepages.gac.edu/~lyu/teaching/mcs177-f18/.

Textbook

Our textbook is Python Programming in Context by Bradley N. Miller and David L. Ranum. I recommend for you to 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 edition. The second edition has had errors fixed and a few technical items updated. As such, it will provide the smoothest experience. However, the differences between the first edition and the second edition are minor and we can definitely help you working 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 for the Book Mark to 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 Sections specified in the schedule before each lecture, as the lectures are meant to supplement your reading (note that the lectures are NOT substitutes for reading). During some lectures I will also give you practice problems from the corresponding Sections in the textbook. You are to work on these problems during lectures or at home. Finishing these problems will reinforce your understanding of the material. They are very helpful in preparing for the tests and the final.

Class and Lab Attendance

Attendance, both physical and mental, is required. In fact, this semester the class instructors and lab instructors will note your attendance (or whether you arrived late or on time) at the start of each lecture or lab. At the end of the semester your class attendance grade is calculated from the lectures you attended on time (please note that if you arrive to a class or a lab more than 10 minutes later than the scheduled starting time, you are counted as late). I reserve the right to lower your grade even further if I feel that you are missing or showing up late to consecutive lectures.

Should you need to miss a class or lab for any reason, you are still responsible for the material covered in there. This means you will need to make sure that you understand the reading from that day; you should ask another student for the notes from that day, and you should 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 projects to the last minute).

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.

You may use your laptop in class. However, the use of the computer is restricted to activities deemed appropriate by the instructor. Playing games, watching YouTube, reading e-mail, checking Facebook, and working on assignments for other courses are a few examples of inappropriate activities that can be distracting to the instructor and other students in the course. Any repeat instances from an individual of such will result in grade deduction.

Effort

For this course, ideally your grade should be a reflection of the effort you had spent. At the end of the semester, if you tell me that you have put in a lot of efort but you recieved a bad grade, I will ask you the following: "did you attend all the lectures?", "did you attend all the labs?", "did you pay attention in classes?", and finally, "did you take advantage of the overabundance of help offered to you?". If your answer to any of those questions is "no", then you did not put enough efforts into the course.

One thing I have noticed during my past 4 years of teaching at Gustavus is that a student's grade is directly related to how deligent he/she is. That is, if a student attends classes regularly, puts efforts into homework and projects, pays attention during classes (as opposed to doing other activities), participates in discussions, and goes to my office hours whenever he/she needs help, it is guranteed that he/she will recieve a good grade. It seems like an obvious concept, but I am constantly surprised by how some students do not seem to connect efforts with results, and that some still insist on taking short cuts.

Please keep in mind that there is no such course which allows you to miss lectures, labs, projects or homework, but somehow miraculously implant the necessary knowledge in your head; no matter how "good" or "bad" the course is. Academia demands decipline.

Bonus Points

For this course, I encourage questions, discussions, peer-helping, and explorations. So, there is a pretty generous bonus point system. During the semester, you are strongly encouraged to ask questions (during or after lectures) and to take part in discussions. If I feel that you had made a good contribution, you will recieve one bonus point.

Another way of earning bonus points is for you to take a leadership position during group work or classroom coding exercises.

Finally, you will earn bonus points if you have ideas about extra work (such as open questions) you can do and have done them outside of class. You can talk to me about what you had done and show me your work. I will give you bonus points accordingly.

The maximum amount of bonus points per student is 5.

Stump the Professor (Bonus Points)

For this course, I encourage questions and discussions with a game I like to called "stump the professor". Here are the rules:

The maximum points a student can receive in the course for "Stump the Professor" is 5 points.

The Bonus Points System on Tests and Final

It should be very clear to you that there is help available every day of the week (from either me or the tutors). What's more, you are just an email away from arranging a tutoring session with me or the tutors at a time which works for you. In other words, I had made it such that at any time, if you spent the effort into seeking, help should come to you; so the deciding factor here is clearly the effort you spent.

To help keeping track of the effort you had put into the course, other than the participation and attendance grade sheet, you can earn 3% bonus points on tests and the final by doing the following:

You must use the following progress form to record your entries. Please use one form for each test.

Projects and Lab Days

For this course, you will need to complete 9 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.

In general, the projects will be posted 4 - 5 days before we start working on it and I expect you to read and understand the project prior. Please do not wait until the lab starts to read the project description (thus wasting precious lab time).

For some labs, if you finish the current project, it would be ideal for you to use the time to start on the next project. In our schedule I have made notes of that. Thus, time management is very important. Do not leave your projects until the last minute. Some projects are longer, some are shorter. If you finish a project, move onto the next one. Please note that there is a jump in difficulties between projects 1 - 5 and projects 6 - 10 (think of the first 5 projects as a warmup for later ones). Thus time management is especially important for later projects.

Some 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 the 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.

Black Board Exercises

In class, you will be given exercises to work on. You will work in a group of 5 - 6 (assigned by me) and practice writing programs by hand (without the help of a computer). This will also help you preparing for the tests and the final. These exercises will be given at random times.In black-board exercises, each group will write the solution to the assigned problem on the blackboard. Each member must take turns writing an equal portion of the solution. If you are having trouble understanding the class material, this is the time to seek help from your classmates and from me. The black-board exercises are not graded.

Written Exercises

In written exercises, each member of the group will be given time during lecture to write the solution to an assigned problem on a piece of paper. While working on your written exercises, you may seek help from other members of your group.

However, while collaborating, you must follow the honor guideline (see below). You may only discuss the general ideas and approaches to the written exercises. However, you may not read or copy another student's code or solution, and no fragments of code or solution can be written down or shared. I reserve the right to lower your grade if I feel that you are looking at or directly copying another student's solution. All collaborations must done verbally .

If students have trouble finishing an exercise within the given time, I will instruct them to work on it at home and hand it in before the start of the next lecture (all students must do so in that case).

If you miss a written exercise given in class (unless you email me prior and received my approval for otherwise), it is your responsibility to finish the exercise at home and hand it in before the start of the next lecture. If you still fail to do so, you will not receive a score for the exercise. There will not be any make-up for written exercises; thus class attendance is important.

There will be roughly 10 written exercises given during the semester. At the end of the semester, 6 random submissions from each student will be selected and graded for written exercises score that will count towards your final grade. Thus (again), class attendance is important (since you want to have at least 6 scores).

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 420 grade points for your work on projects, in-class written exercises, homework exercises and tests, divided as follows. Each of the 9 projects will be graded on a scale of 20 points, totaling 180 points. Each written exercise is worth 5 points, and 6 of them will be graded, totaling 30 points. Class and lab attendance is worth 10 points. 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.

Honor

Any substantive contribution to your project report by another person or taken from a website 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 properly cited.

As a guideline for collaboration, it is ok for students to get together in small groups to go over material from the lectures and text, solve problems from the text, study for exams, and discuss the general ideas and approaches to projects. However, work to be turned in, including projects and homework exercises, must be done independently. This means that the work you or your team turns in must represent only your own work. It must not be based on help from others or information obtained from sources other than those approved by the instructors (e.g., the text, the course webpage, and materials provided in the lectures). Effective learning is compromised when this is not the case.

Accordingly, you should never read or copy (any part of) another student's code or solutions, exchange computer files (or pieces of papers with solutions written on them), or share your code/solutions with anyone else in the class until after both parties have submitted the assignment. Under no circumstances may you or your team hand in (any part of) work done by someone else under your own name.

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 projects. If there is irreconcilable disagreement within the team it is necessary to indicate as such in the report.

At its November 2006 Faculty Meeting, the faculty approved changes to Faculty Handbook Section 2.2.6: "Through information provided in syllabi and/or other means, faculty members will explain to students how the Honor Code will operate in their respective courses." The following statement is suggested as a pledge for students to sign on all graded assignments and projects. A similar statement may be signed by students at the beginning of a course, indicating that their work for that course will comply with the academic honesty policy and the Honor Code. "On my honor, I pledge that I have not given, received, or tolerated others' use of unauthorized aid in completing this work." Full descriptions of the Academic Honesty Policy and the Honor Code can be found in the Academic Catalog (online at https://gustavus.edu/general_catalog/current/acainfo). For more information about the Honor Code, contact Dean Micah Maatman (mmaatman@gustavus.edu or x7541).

Accessibility Resources

At its May 2011 Faculty Meeting, the faculty approved changes to Faculty Handbook Section 2.2.7: "Through information provided in syllabi, faculty members will notify students of the availability of disability services at Gustavus and how to access them." The following statement is recommended for inclusion on all syllabi: Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability, or you think you may have a disability of any nature (e.g., mental health, attentional, learning, chronic health, sensory, or physical) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College's services, then you should speak with the Accessibility Resources staff, for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Accessibility Resources as early as possible. Accessibility Resources (https://gustavus.edu/care/accessibility) is located in the Center for Academic Resources and Enhancement. Accessibility Resources Coordinator, Kelly Karstad, (kkarstad@gustavus.edu or x7138), can provide further information.

Help for Multilingual Students

Support for English learners and multilingual students is available through the Center for International and Cultural Education's ( https://gustavus.edu/cice/ ) Multilingual and Intercultural Program Coordinator (MIPC), Carly Houston Overfelt. The MIPC can meet individually with students for tutoring in writing, consulting about academic tasks, and helping students connect with the College's support systems. When requested, the MIPC can consult with faculty regarding effective classroom strategies for English learners and multilingual students. If requested, the MIPC can provide students with a letter to a professor that explains and supports appropriate academic arrangements (e.g., additional time on tests, additional revisions for papers). Professors make decisions based on those recommendations at their own discretion. In addition, English learners and multilingual students can seek help from peer tutors in the Writing Center ( https://gustavus.edu/writingcenter/ ).

Mental Wellbeing

The Gustavus community is committed to and cares about all students. Strained relationships, increased anxiety, alcohol or drug problems, feeling down, difficulty concentrating, and/or lack of motivation may affect a student's academic performance or reduce a student's ability to participate in daily activities. If you or someone you know expresses such mental health concerns or experiences a stressful event that can create barriers to learning, Gustavus services are available to assist you. You can learn more about the broad range of confidential health services available on campus at https://gustavus.edu/counseling/ and https://gustavus.edu/deanofstudents/services/ .

Title IX: Sexual Misconduct Prevention and Resources

Gustavus Adolphus College recognizes the dignity of all individuals and promotes respect for all people. As such, we are committed to providing an environment free of all forms of discrimination including sexual and gender-based discrimination, harassment, and violence like sexual assault, intimate partner violence, and stalking. If you (or someone you know) has experienced or is experiencing these types of behaviors, know that you are not alone. Resources and support are available; you can learn more online at https://gustavus.edu/titleix. Please know that if you choose to confide in me, I am mandated by the College to report to the Title IX Coordinator, because Gustavus and I want to be sure you are connected with all the support the College can offer. Although it is encouraged, you are not required to respond to outreach from the College if you do not want to. You may speak to someone confidentially by contacting the Sexual Assault Response Team (SART/CADA), Chaplains, Counseling Center, or Health Service staff; conversations with these individuals can be kept strictly confidential. SART/CADA can be reached 24 hours a day at 507-933-6868. You can also make a report yourself, including an anonymous report, through the form at https://gustavus.edu/titleix.