Syllabus and General Info
Overview
MCS-177 is an introduction to computer science with emphasis on applications, taught using Python 3. We will cover basic programming concepts such as variables, functions, conditionals, loops, lists, dictionaries, files, recursion, and object-oriented programming. You will produce programs for elementary data analysis, ‘Instagram’ image processing, and drawing random snowflakes. Toward the end, you will create a board game and a very primitive version of ‘Facebook’. Previous programming experience is neither required nor expected.
Note: a score of 4 or 5 in the AP Computer Science A exam satisfies the MCS-177 requirement. If you have significant coding experience (for example, you took a course in high school, even if you didn’t take an AP exam), please come talk to us about whether this is the right course for you.
Instructors (see when we are available here)
- Lecture instructor: Emily Gunawan
- Lab instructors: Tom LoFaro and Jacob Siehler.
Textbook
Our (required) textbook is Python Programming in Context (2nd edition) by Bradley N. Miller and David L. Ranum. Lectures and labs will supplement your pre-class reading assignments.
Tips for succeeding and being a good community member
The following behaviors will benefit your learning and are highly encouraged:
- actively contribute to team activities
- encourage every teammate to contribute to team activities, regardless of past CS background
- if asked to do so, be willing to help other students with class exercises and projects (WARNING: this does not mean showing your own work to another person - read the Academic Integrity section)
- be willing to give wrong answers and make mistakes during class
- actively seek help from classmates as well as from instructors/tutors during and outside of class
- Form a study group
Course work, assessment and grades
Tokens
Tokens are fake currency which may be spent on second attempts at exams and projects:
Purpose | Token cost |
---|---|
Take an exam for the second time (if you score less than 90% on your first try) | 1 token |
Resubmit a project (if you score less than 15 points on your first try) | 1 token |
Submit a late project within 7x24 hours of deadline | 1 token |
Everyone starts out with 3 tokens (designed so that you have the opportunity to take each test twice). At the end of the semester, leftover tokens can be used toward improving your individual exam and total lab points or both (1 token=1 point).
Note: If you attempt something more than once, only the score of the last attempt will be recorded. No second or late submission is accepted for the last project (in order for me to submit your course grades on time).
Projects
Ten projects will be assigned throughout the semester. You will upload your files on Moodle. You should check your work against the grading criteria used by the graders before you upload your work.
On Tuesdays and Thursdays, we will meet in the Olin 326 computer lab. One or more of those lab days will be provided for you to work on the projects or review for exams.
You should think of Projects 1-5 as a warm-up for Projects 6-9, which are longer and more challenging.
You may use a token to either submit a project late (up to 7x24 hours after the deadline). If you receive lower than 15 points on your first on-time submission, you may use a token to re-submit the same project 7 days after your first attempt is graded.
Note: If your code does not run (for example, if there is a syntax error, indentation error, or if you forgot to upload a Python file), the grader will automatically give you a total score of one for submitting something. In this case, they will not look at your submission. If you forget to do this the first time, that’s OK - you will be able to use a token to re-submit a project (except for the last project).
Exams
There are three scheduled exams during the semester. We will give you practice questions beforehand. If you score less than a 90% score on a test, you may use a token to take a test for the second time two weeks later.
All exams will be closed-book, closed-notes, and done without the help of technology (for example, calculator is not allowed). You may, however, bring a hand-written cheat-sheet written on a small index card (one-sided). You will turn this in with your exam paper at the end.
In-class, in-lab practices
In both lab and lecture classes, frequently you will be given short programming exercises to solve either with your team (on the board) or individually. The exercises are based on reading assignments, lectures, or the current projects you are working on.
Each in-class practice will be given a Success
mark or keep trying
/no attempt
. Often, you will get more than one attempt to earn a Success
mark for each practice, so this is meant to be a laid-back, stress-free activity. If you are having trouble understanding the class material, this is a great time to seek help from your classmates and your instructor/lab assistant.
As you only need to achieve 80% Success
on these, there will not be any make-up.
Pre-class reading and homework.
There will be pre-class reading assignments and some homework assignments as well based on textbook readings. The optional assignments are marked as such. To get the Success
marks for the non-optional reading/homework, you need to post your required replies by 10pm on the Moodle Reading Forum the previous evening. We will read them before class to help us plan class effectively.
You only need to achieve 80% Success
on these as well, and no make-up is available.
Speaking of Moodle, if you have any questions about projects or class materials, please post it to the Discussion Forum on Moodle. You should feel free to answer questions if you are able to. The instructors will try to answer lingering questions if no one else can help.
If you email me directly about a question that I think will benefit everyone in the class, I will gently ask you to post it to the Forum instead. You are always welcome to talk to me in person during office hours.
Grading
At the end of the semester, letter grades will be assigned as follows. (Edited on April 19, 2017 to make it slightly easier to get As and Bs).
Letter | Minimum requirements |
---|---|
A | * The minimum requirements for A-, and * Success marks on 80% of homework and in-class practices |
A- | (90% on every exam OR 90% average of first-attempts of exams) AND average project score of 18 pts |
B+ | * The minimum requirements for B-, and * Success marks on 80% of homework and in-class practices |
B | * The minimum requirements for B-, and * Success marks on 70% of homework and in-class practices |
B- | (80% on every exam OR 80% average of first-attempts of exams) AND average project score of 16 pts |
C+ | * The minimum requirements for C-, and * Success marks on 80% of homework and in-class practices |
C | * The minimum requirements for C-, and * Success marks on 60% of homework and in-class practices |
C- | 70% average on all exams AND average project score of 14 pts |
D+ | * The minimum requirements for D, and * Success marks on 60% of homework and in-class practices |
D | 50% average on all exams AND average project score of 10 pts |
Mid-semester (temporary) grade reporting
We will report your (temporary) mid-semester grades (by March 29) as follows.
Letter | Minimum requirements |
---|---|
A | 90% on Exam 1 AND average of 18 points on graded projects |
B | 80% on Exam 1 AND average of 16 points on graded projects |
C | 70% on Exam 1 AND average of 14 points on graded projects |
D | 50% on Exam 1 AND average of 10 points on graded projects |
Grading errors
If you notice any grading mistake on projects or exams, please talk to the lecture instructor Emily Gunawan during office hours. This must be done within a week after you receive your grades.
Policies
Attendance
Attendance is beneficial to your learning and strongly encouraged. Should you miss a class or lab for any reason, you are still responsible for the materials and announcements covered that day. If you are sick, please stay home but email both your lecture and lab instructors.
Professionalism
To minimize distractions to your instructors and other students, we ask that you do the following during class:
- show up on time
- no technology-use (laptop/phone/tablet) use in the non-lab classroom
- during lab, avoid having your e-mail, social media, and other non-relevant sites open
- be mentally present during class, that is, not working on assignments from other courses, and be actively engaged in class activities.
Make-up exams
Please let us know ASAP if you cannot attend class on an exam day. Should you miss both scheduled times for an exam for any reason, a make-up may be available at the cost of a token. This will be an oral exam to be taken within 7 days of the missed class date. Please let us know if you have a conflict.
Academic honesty and collaboration policy
Any substantive contribution or help to your submitted work 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.
As a guideline for collaboration, students can get together in small groups to solve homework problems and study for exams. However, graded work to be turned in, including projects, must be done independently. This means that the work you or your team turns in must represent only your own work. For homework and projects, it’s OK to receive help from other written materials or other individuals, but you must clearly cite their these.
Actions that would cause you to be guilty of plagiarism include the following:
- Showing your code or solutions to another student
- Exchanging computer files or pieces of papers with solutions written on them
- Taking pictures of someone else’s solutions
- Letting another student take notes of your solutions
- Reading another person’s code or solutions
- Modifying someone else’s code or solutions and putting your name on it
- Having another person debug your code and then turning in the revised code
- Handing in work (partially or fully) done by someone else under your own name
- Receiving help from another person or resource without giving them credit
- Working closely with another person without giving them credit
- Uploading very similar files to Moodle (which are then flagged by the Plagiarism Check)
- Using resources from past versions of this course or similar courses offered elsewhere to complete an assignment
- Any evidence of collaboration between students on an exam day
The same standards regarding plagiarism apply to partner projects as to the work of individuals. Anything taken from a source outside the pair should be properly cited. In addition, all team members must stand behind all reports bearing their names. Do not include someone’s name in a submission if they make no contribution to the work.
As a student at Gustavus you are expected to uphold the Honor Code and abide by the Academic Honesty Policy. Read about the Academic Honesty Policy.
The first violation will result in a zero in the assignment or exam in question. The second violation will result in an F in the class. Both times, your instructor will be required submit an honor code violation report.
Gustavus Services
Accessibility Services
Gustavus is committed to all students achieving their potential. If you have a short-term or long-term disability/injury or think you have a disability (physical, learning, hearing, vision, psychiatric, etc) which may need a reasonable accommodation, please go to the Center for Academic Resources and Enhancement (CARE): Accessibility Resources, URL: https://gustavus.edu/advising/disability/, Anderson Hall 107 or 507-933-7227, as soon as possible. You can have a confidential discussion of your needs and appropriate plans. Contact our Accessibility Resources Coordinator, Kelly Karstad, kkarstad@gustavus.edu or x7138).
English Language Learners & Multilingual Services
Support is available for those students whose first language is not English, and/or those who self-identify as multilingual. Contact Corey Sandusky (Multi-Lingual Learner Tutor) at csandusk@gustavus.edu or 507-933-7197 for individual tutoring and consulting services. You can also seek help from peer tutors in the Writing Center (gustavus.edu/writingcenter/).
Other academic services (Academic Resources and Enhancement)
For general academic support, go to The Center for Academic Resources and Enhancement. You can make an appointment with either Jane Lalim at jlalim@gustavus.edu or 507-933-6124, or Kate Knutson at knutson@gustavus.edu or 507-933-6224.
- See Academic Advising Services for academic advising and choosing-majors, etc.
- See Academic Support for help on time management, test taking, and other useful tips to help you succeed in college and life!
Mental Wellbeing
The Gustavus community cares about all students. Strained relationships, increased anxiety, alcohol or drug problems, feeling down, difficulty concentrating, 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 health concerns or experiences a stressful event that can create barriers to learning, Gustavus services are available to assist you. Learn about confidential health services available on campus at gustavus.edu/counseling/ Johnson Studion Union, room 204 from 8-4:45pm Mon-Fri phone 507-933-7027. See also gustavus.edu/deanofstudents/services/.
Title IX
Title IX is federal legislation that makes clear that violence and harassment based on sex or gender are civil rights violations. Gustavus Adolphus College takes incidents of sexual misconduct and sexual harassment seriously. Sexual misconduct includes the following: non-consensual sexual contact, non-consensual sexual intercourse, sexual exploitation (taking non-consensual or abusive sexual advantage of another), intimate partner violence (physical, sexual, or psychological harm by a current or former partner or spouse), and stalking. Please see the Student Sexual Misconduct Policy in the Gustavus Guide for more details and definitions or online at: https://gustavus.edu/deanofstudents/policies/gustieguide/sexualmisconduct.php#sexualmisconduct.
Sexual Harassment is any behavior of a sexual nature that is unwelcome, offensive or fails to respect the rights and dignity of another person whether of the same or opposite sex. Please see the All-College Policy against Harassment and Sexual Harassment for examples and more details: https://gustavus.edu/facultybook/allcollegepolicies/#Anchor-Sexua-60443.