MCS 178: Introduction to Computer Science II
Overview
In this course, we will continue our exploration of the perspectives and methods of computer science. The main difference from Introduction to Computer Science I is the change in the programming language from Python to Kotlin. In Kotlin, we will learn to develop programs in various modern programming styles: procedural, object-oriented, and functional. Along the way, we will develop tools to analyze program efficiency, methods for writing efficient algorithms, and data structures. This course will involve much programming from many disciplines, ranging from physics, biology, the visual art, music, and recreation mathematics. We will also learn the rudiments of Haskell, a functional programming language.
Textbook
There is no required textbook for the course. However, you need to study the lecture notes and attend classes, since the lecture notes cannot cover everything we’ll be doing in class.
In prior semesters we used the textbook Introduction to Programming In Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne. The authors have since updated the book. Their second edition is still recommended for its excellent collection of programming exercises.
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.
Lab Days and Projects
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 generally need to spend additional time on the project outside of class. For this course, you will need to complete 7 projects. In each case, I will indicate what I expect of you.
Exams
There will be two intra-term 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 alternate arrangement. Each intra-term test consist of two parts: a written part and a programming part done on separate days. In general, the written part will be held during lecture time and the programing part will be held during lab time. The final will be two hours, I will publish the time for the final when it is set.
Grading
About half of the course grade will be the the sum of all your project scores. About the other half will be the sum of all your exam scores (intra-term written tests, intra-term programming tests, and the final exam). Your letter grade for the course will be recorded as follows:
| A: 94-100 | A-: 90-93 | |
| B+: 87-89 | B: 83-86 | B-: 80-82 |
| C+: 77-79 | C: 73-76 | C-: 70-72 |
| D+: 67-69 | D: 63-66 | |
| F: ≤ 62 |
Please point out any arithmetic or clerical error I make in grading, and I will gladly fix it.
I reserve the right to lower your grade if I feel you are missing or showing up late too often to classes or labs.
Academic Honesty
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 must be done independently. It must not be based on help from others or information obtained from sources other than those approved by the instructors (e.g., resources linked from the course webpage and materials provided in the lecture notes). Effective learning is compromised when this is not the case.
You should never read or copy 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 hand in work done by someone else under your own name.
You are expected to be familiar with the college Academic Honesty Policy and to comply with that policy. Full descriptions of it and the Honor Code can be found in the Academic Catalog (online at https://www.gustavus.edu/general_catalog/current/acainfo). If you have any questions about it, please ask. A first violation of the honor code will result in a grade of 0 on the project or exam in question. A further violation will result in an automatic F for the course and a notification to the Office of the Provost.
Academic Accommodations
Gustavus Adolphus College is committed to ensuring equitable and inclusive learning environments for all students. If you have a disability and anticipate or experience barriers to equal access, please speak with the accessibility resources staff about your needs. A disability may include mental health, attentional, learning, chronic health, sensory, physical, and/or short-term conditions. Students with a documented elevated risk of COVID-19 may also request academic accommodations. When appropriate, staff will guide students and professors in making accommodations to ensure equal access. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact them as early as possible. Accessibility resources staff are located in the Academic Support Center (https://gustavus.edu/asc/accessibility/) (x7227). Accessibility Resources Coordinator, Corrie Odland (), can provide further information.
Multilingual Student Support
Some Gusties may have grown up speaking a language (or languages) other than English at home. If so, we refer to you as "multilingual."" Your multilingual background is an incredible resource for you, and for our campus, but it can come with some challenges. You can find support through the Center for International and Cultural Education's (https://gustavus.edu/cice/) Multilingual and Intercultural Program Coordinator (MIPC), Pamela Pearson (). Pamela can meet individually for tutoring in writing, consulting about specific assignments, and helping students connect with the College's support systems. If you want help with a specific task (for example, reading word problems on an exam quickly enough or revising grammar in essays), let your professor and Pamela know as soon as possible. In addition, the Writing Center (https://gustavus.edu/writingcenter/) offers tutoring from peers (some of whom are themselves multilingual) who can help you do your best writing.
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, and include online options. 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/.
COVID Policies in the Classrooms
All classrooms will follow the most up-to-date COVID policy of the college with regard to masking, social distance, food and beverage in the classroom, and sanitizing of technology and spaces. Individual faculty members may ask for additional COVID precautions at their discretion.