(Last updated: 12 March 2021)
Due to the rapidly changing world that we find ourselves in, the policies of this syllabus are perpetually subject to change. Non-trivial changes to course policies will be announced in class in addition to being reflected in the syllabus online.
How do we harness the power of modern-day computation to solve problems? Why is computation so pervasive in this information age? What is this field, computer science, that drives much of this innovation?
To address these questions, we will introduce you to the basics of computational problem-solving: describing and decomposing problems of a computational nature so that we can implement their solutions with a computer. We will demonstrate that computational problem-solving is the essence of computer science and is an essential first step in understanding the discipline and its effects on society. By the end of this course, you should be able to:
In addition to these primary outcomes, we also expect you will take away more general skills and knowledge related to the discipline:
Digital humanities
Computational thinking and computational techniques can be applied to a wide variety of domains. At Grinnell, we have a tradition of picking a domain or “theme” for each offering of CSC 151. The theme for this semester is the Digital Humanities, the application of computational techniques towards solving problems in the humanities. Because the humanities encompass a multitude of disciplines—languages, cultural studies, and performing arts—the problems we solve in this space are necessarily diverse. However, there exists a common thread among the solutions employed: the analysis and visualization of large amounts of data, frequently textual. We will pay particular attention to this approach to problem-solving and survey its applications to the digital humanities.
Why take CSC 151?
Basic knowledge about solving problems computationally is useful in careers involving every major and concentration offered at Grinnell. This course outfits you with some versatile concepts applicable to other programming languages and environments you will encounter in the wild. Finally, you have the opportunity to be creative in many ways, from problem solutions to finding new approaches to data. Creativity is highly encouraged!
Important Notices
We are also using software developed at Grinnell and may still have some bugs lurking within. Thus, you should develop a habit of saving your work frequently!
Workload
You can expect to spend 24 hours per week on this course, including all in-class and out of class time. This number is based off of the Grinnell Guidelines for credit-hours, accounting for our “double speed” this semester. This is a significant amount of time!! I would not expect you to be able to complete things last minute, so we will work together on planning and organization. If you find yourself working much more than the expected amount in this course, please let me know. It could be that other approaches, or better support resources, can help.
Technology Usage Policy
Materials you have obtained from this course including lecture videos should not be distributed outside of the members of our class. Live synchronous sessions should not be recorded by students. I will record and distribute our synchronous sessions. During synchronous sessions, I encourage you to turn on your video in order to help us build a sense of community. Recordings of courses will be deleted and no longer available once the course finishes. Assignments and their solutions may not be uploaded to any third party website (excluding gradescope). Finally, an online course requires all of us to be generous and supportive. Be extra thoughtful in our online spaces with the words that you choose.
Incomplete Grade Policy
All work for the course is due by 5:00 pm on the last day of finals (05/25/2021). In exceptional circumstances, incomplete grades can be granted. Talk with me if you think you might need an incomplete to complete all the requirements of the course.
Religious Observance
I encourage students who plan to observe holy days that coincide with class meetings or assignment due dates to consult with me in the first two weeks of classes so that we may reach a mutual understanding of how you can meet the terms of your religious observance and also the requirements for this course.
Students with Disabilities
I encourage students with documented disabilities, including invisible disabilities such as chronic illness, learning disabilities, and psychiatric disabilities, to discuss appropriate accommodations with me. You will also need to have a conversation about and provide documentation of your disability to the Coordinator for Disability Resources, John Hirschman, 641-269-3089.
Inclusion Statement
It is my intention that students from all backgrounds and perspectives will be well served by this course, and that the diversity that students bring to this class will be viewed as an asset. I welcome individuals of all ages, backgrounds, beliefs, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, socioeconomic background, family education level, ability – and other visible and nonvisible differences. All members of this class are expected to contribute to a respectful, welcoming and inclusive environment for every other member of the class. Your suggestions are encouraged and appreciated.
Take care of yourself
Do your best to maintain a healthy lifestyle this term by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.
All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available through campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, I strongly encourage you to seek support. Student Health and Wellness (SHAW) is here to help: call 641-269-3230 and visit their website. Consider reaching out to a friend, faculty, or family member you trust for help getting connected to the support that can help.
If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:
This course employs a grading system based on mastery grading and specifications grading to evaluate your work. These systems, inspired by adult learning theory, are designed to create a “low-threat” learning environment where:
As a consequence of this model, at any point in the semester, you should know approximately where you stand in the course and what work you need to put in to earn the grade of your choosing. (Although, that work will likely be challenging!)
Ideally, all of you should be able to meet all of the goals in a reasonable amount of time (see the note about time and workload above).
There are four sorts of deliverables I use to assess your mastery of the material. Details on the S/N and E/M/R/N scales can be found on the grading page.
Reading problems and lab exercises are designed for you to practice and explore the concepts of the course in a supportive environment. Consequently, you may collaborate on these problems with your classmates, consult external resources, or ask the course staff for questions, provide that you cite them in your produced deliverable. These deliverables are checked primarily for completion and effort rather than total correctness.
Mini-Projects and learning assessments are designed to demonstrate your mastery of the material and the course’s learning goals. You may only discuss these deliverables with the course staff. These deliverables are checked extensively for both correctness and appropriate design.
Letter grades for the course are determined by bundles, a collection of required grades for each of the deliverable categories. You will receive the grade corresponding to the bundle for which you meet all of the requirements. All bundles list minimum amounts, you may exceed the requirements for a bundle and still qualify for it.
Note that I reserve the right to update requirements for grades as circumstances dictate over the course of the semester, e.g., if a deliverable is cut. I will always update the requirements so that they are approximately as strict as they were previously.
(Last updated: 19 May 2021)
| Overall | Readings (25) | Labs (24) | Projects (5) | LAs (26) |
|---|---|---|---|---|
| C | 13xS | 17xS | 2xR+, 2xM+, 1xE | 20xS |
| B | 17xS | 17xS | 1xR+, 2xM+, 2xE | 22xS |
| A | 21xS | 21xS | 1xR+, 1xM+, 3xE | 24xS |
Plus/minus grades
To earn a plus/minus grade, you must have completed the requirements of one tier and meet the requirements of the next tier for at least one of Projects and/or LAs. This will arise in two situations: C/B and B/A. For example, you may completely meet the requirements of a C and at least one of Projects and/or LAs is a B.
Tokens reflect that life inevitably rears its ugly head in some fashion and ruins your best-laid plans. You begin the course with 3 tokens, and you may:
To use a token, please DM or email me when you intend to use a token so that I can let the graders know to look for the additional deliverable to grade. (You may still have to remind me.)
There will be opportunities to earn additional tokens throughout the semester by participating in extra-curricular activities such as attending CS community events—CS Table (most Mondays at noon CST) and CS Extras (most Thursdays at 5:00 p.m. CST). To earn a token, attend the event (or watch a recording within one day) and submit a one-paragraph reflection on the event via email to the instructor. Additional information about these opportunities will be posted to Teams as they arise.
If you use more tokens than you have, I will count the extras against lab writeups or readings, whichever affects your grade the least.
There are several software packages we use in this course both for learning how to program as well as conducting learning online.
Please make sure you can access all of these resources, and please let me know if you have any problems with access.
There is no required textbook for this course, as the material is written by Grinnell faculty and posted on the course website. However, there are some useful textbooks and references you may want to bookmark or keep handy.
Books
References
Internet Connectivity
In addition to software, you will also need a stable Internet connection capable of streaming audio and video. Because of the importance of collaborative work in this class, participating in synchronous lab sessions is required. If your Internet connection does not meet these requirements, please contact me as soon as possible so we can work with Grinnell’s Information Technology Services (ITS) group to get you an adequate connection.
To help expedite your learning, you can rely on me, our class mentor, and your peers as outlets in this course.
The Instructor, course staff, and other resources
When contacting the course staff, please use direct messages (DM) on Microsoft Teams. While we will generally not respond immediately—we will check our messages at fixed times throughout the day—we will prioritize responses to student questions over Teams versus queries sent through other means, e.g., email.
The course mentors also hold optional mentor sessions outside of regular class time. In these sessions, the mentors guide you through practice problems designed to help you master the material and answer any questions you have about the material. I highly recommend you attend each of these sessions, even if you feel like you understand the material. You never know what you don’t know, and the purpose of these sessions is to bring these blind spots to light!
The CS department provides evening tutors most days of the week. I encourage you to make use of the evening tutors. With the move online, the tutors have been trying a variety of ways ot meet; I’ll do my best to keep you informed.
The CS department also provides individual tutors as needed. If you find yourself struggling with the material, please let me know and I’ll work with our peer education coordinator to get one assigned to you.
Finally, if you would like to discuss things in more detail—–course content, more general questions about computer science, or other things—–feel free to schedule a (virtual) meeting with me, either during office hours or, if those don’t work, by sending me a message with available times.
Note that if I find that you have fallen behind on assignments or are showing difficulty on learning assessments, I will invite you to meet with me. Please accept those invitations; they are intended to be supportive, not punative.
Peer learning
Utilizing discussion with peers to facilitate your learning is a critical skill for success in computer science. However, at the same time, you must be aware that getting stuck and pushing through challenging problems is essential for robust learning. To this end, we allow the following forms of collaboration.
Keep in mind that adaptation of pre-existing code whether it comes from a peer, myself, or the Internet, requires a citation in cases where it is allowed. Also, whenever you are expected to show your code’s output, you are expected to reproduce the output faithfully. In other words, you should not forge the results of your programs!
In all cases, the work that you produce should be your own. The golden rule is that you should be capable of reproducing your deliverable on the spot with minimal effort if it was accidentally deleted.
If you feel that the stress and pressure of the course are compelling you to violate the academic honesty policies of the course and the college as explained in the student handbook, please talk to me as soon as possible. The course’s grading policies as designed to help you manage your time in light of the different stressors in your life. I will do my best to work with you to figure out how to help you better manage your time relative to your learning goals and desired achievement level for the course.
I expect you to appropriately cite where you obtain material (see the preceding section), and you should expect me to do the same.