Syllabus

 

Class meetings

T/Th 8:30-9:50

Noyce 3819

How to contact the instructor

Full contact information here.

Learning Outcomes

We will explore what computer science educators have identified as seven “big ideas” in computing: creativity, abstraction, data and information, algorithms, programming, the internet, and global impacts (AP Computer Science Principles).  Our major learning objectives for this course include:

  • Understand the basic concepts of computers, their components, and operation.
  • Understand how problems can be approached through computational principles and methods.
  • Increase self-efficacy in learning, using, and troubleshooting digital technologies.
  • Consider digital technologies in context of historical development and social consequence: technology is made of human choices that ultimately impact other humans.

Thriving in 2023

What follows is my most idealistic projection of what our semester will look like. It is subject to change as we experience the next three months of learning together. If you are struggling, you are not alone. I welcome conversation at any time about how to make this semester the healthiest and most learning-oriented it can be.

In our time together, I seek to center the THRIVE principles adopted by Grinnell College:

  • Talk to improve transparency.
  • Health and safety must remain a top priority for our entire campus community.
  • Re-imagine and reconsider what is possible and necessary.
  • Inclusion requires flexibility.
  • Value all experiences of vulnerability.
  • Empathy requires all of us to be aware, sensitive, and responsive.

We can expect that students and faculty members may test positive for COVID-19, which may require following certain College policies for reporting and isolation.  Accommodations will be provided for students to keep up with their assignments. 

Textbook

There is no required textbook for this course. Readings will be made available through links to library resources, links to openly available material on the web, and in a few cases e-reserves on Pweb.

Accessibility & Inclusion

My goal is to create a fully inclusive classroom, thus I welcome individual students to approach me about distinctive learning needs. In particular, I encourage students with disabilities to have a conversation with me and disclose how our classroom or course activities could impact the disability and what accommodations would be essential. You will also need to have a conversation about and provide documentation of your disability to the Coordinator for Disability Resources, Jae Baldree, Steiner Hall Room 209, 641-269-3089.

Religious observances

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 three 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.

The work of the course & its evaluation

This course is a mix of theoretical concepts, practical applications, and critical discussions. This is also a course designed to complement the requirements of a CS major or provide a broad overview to students majoring in other areas but curious about computing and digital technologies. Therefore, it requires no prior background in the subject and does not require all students to have mastered the same set of skills.

Evaluation will be based on labor: if you complete all of the required work to a satisfactory level, you can expect to receive an A in this course. By “satisfactory” I mean: complete, corrected/revised if necessary based on my feedback to demonstrate learning outcomes. “Satisfactory” does not mean perfect, but it does mean thoughtfully completed.

My goal is for everyone taking this course to be able to demonstrate familiarity and fluency with the course concepts and pursue questions within these topics that are meaningful to them. While there are not a lot of expectations for memorization of material (i.e. quizzes or other recall-based evaluations will be re-takeable until a satisfactory score is demonstrated), there are fairly high expectations for engagement with the material. I will be grading primarily for engaged presence in class and thoughtful completion of the work–it is less important that you do anything brilliantly and more important that you show up, do it, and then spend time to reflect on the experience and what you learned. I would be very happy if you all completed the work of this course with engaged effort and received As. The following weighting will provide a basis for evaluation:

  • Attendance & engagement (including completion of in-class labs): 30%
  • Informal writing (recap/reflection posts, comments, in-class free writing): 10%
  • Homework Assignments: 10%
  • Project 1: 15%
  • Project 2: 15%
  • Ethics discussion reading selection & analysis: 20% (research & selection 5%, lightning presentation & discussion 5%, 300-500 word analysis 10%)

Attendance & engagement

Typically, each class meeting will include a mix of the following types of work: lecture, lab, or discussion.

Lectures will typically focus on the presentation of a key idea and may include some in-class activities. Engagement should take the form of listening, note-taking, asking questions, and participating fully in activities.

Labs will typically focus on working through a series of steps to learn or make use of a particular tool–such as the Linux terminal, Python code, or a software designed to demonstrate a particular computing concept. Engagement requires doing the short background readings, showing up, working with colleagues as assigned, asking questions as needed, and completing the work of the lab. You will likely not always complete the lab during class. You should assume that you should then finish them outside of class.

Discussion will focus on the history of computing in the first half of the semester and ethical implications of digital technologies in the second half of the semester. Engagement requires doing the reading beforehand, coming prepared to participate in warm-up and free writing activities, and contribute to full group discussions with thoughtfulness and vigor. At least, as much vigor as can be humanly expected at 8:30 in the morning.

Attendance is expected at every class session. That said, each student has 2 “personal days” that can be used for wellness or other purposes, which includes non-urgent health tribulations like the common cold that do not rise to the level of a SHACS visit. You do not need to ask or apologize for these days, but please let me know as soon as possible if you will not be in class. If you have more than two absences without a documented accommodation, health issue, or emergency, your participation grade will suffer. If you have 4 or more unexcused absences, you will receive a participation grade of zero. COVID-related absences will not count toward the total and I will work with you to complete missed work. I encourage you to communicate your needs to me as promptly as you are able to.

Missing class does not excuse you from completing the work of the class. Homework will be due at the next course meeting, and you will be responsible for the concepts covered in lecture and discussion.

If you must miss class, please refrain from asking what you missed over email. You may consult the recap and reflection posts prepared by your colleagues or come to office hours.

Although it is not required, coming to office hours to ask questions, talk more about the reading, or just to chat is a valuable form of engagement, and I strongly encourage you to make use of office hours in this and all your courses. My office hours are by appointment, and you are warmly encouraged to schedule any time you see available using this link: https://calendly.com/lizrodrigues.

Writing

Writing is habit of attention and practice of thought. I find it to be an invaluable tool for learning and creativity. For this reason, informal writing is a key component of engagement in this course. Informal writing practices in this course will include:

  • In-class writing to focus our attention and spark ideas (free writing, index card activities)
  • Blog posts that recap and reflect upon class readings and discussion.
  • Comments on others’ blog posts

Blog posts and comments

  • Schedule: Each student will be responsible for posting to our class blog several times during the semester. Typically, 3-4 people will be assigned a type of post for each class session. When you are not responsible for posting, you are responsible for commenting at least once for each class day. I will provide a schedule for when and what type of post each student is responsible for. If you are not explicitly assigned to post, you should consider yourself and assigned commenter.
  • Form:  Posts take several forms:
    • Recap: An overview of the material covered in class that day. This is an example of a satisfactory recap post. This is another example.
    • Reflection/connection: A written reflection on what you learned or responses you have to the material. These can include ideas sparked, connections to other readings for the course or readings for other courses, connections to other course ideas, connections to current events. Here is an example of a reflection post. Here is another example.
    • Question: An articulation of a question that came up in class or that came up for you individually and a good faith attempt to answer that question and/or provide resources for following up on that question using reliable information sources. These do not have to be library sources and they can include Wikipedia, but you should try to avoid referring to websites that seem primarily to be selling something or offering clickbait. Here is an example of a question post.
    • Comment: A short response to a classmate’s post, 1-2 sentences is fine. This should go beyond “great job!” and be about something specific in the post–something that was helpful, or striking, or a question raised for you by the post.

Homework assignments

Regular homework assignments will cover problems from lecture material and laboratory exercises. Due dates are marked on the schedule. You are welcome to discuss general course material with others, but any work you do and submit should be your own. The only exception to this is when assignments cover lab exercises that were performed collaboratively. In this case, each collaborator should submit any required materials individually and give proper attribution by naming their lab partners for any work conducted jointly.

Projects

Project 1, a Twine narrative, will be due the week before spring break. Project 2, an independent or collaborative project designed in consultation with me that demonstrates engagement with a technology related to the course, will be due the last week of class. Each of these projects will be accompanied by a short in-class presentation and a short reflective statement on process. Suggestions and additional guidelines will be provided.

Workload

CS 105 is a 4-credit course. Class time will take 4 hours per week. Therefore, you should expect to spend about 6 hours a week outside of class completing reading, labs, homework, informal writing, and projects. Some weeks may require more and some weeks may require less. If you find yourself struggling to complete the work for this course in that time frame, please come and meet with me. Coursework at Grinnell is rigorous, but it should not feel impossible.

Creating a community

This classroom is a community of inquiry composed of individuals from diverse backgrounds and experiences coming together to learn. To that end:

  • Please come to every class, on time, and for the full scheduled time.
  • Please prepare for class by reading, taking notes, and formulating questions.
  • Please contribute to our conversation, both by listening and speaking.
  • Please give every activity the best effort you are able.
  • Please challenge yourself.
  • Please find a way to ask for help rather than panic, worry, or give up.
  • Please find a way to support your colleagues in these efforts.
  • Expect to make mistakes. Expect others to make mistakes. Please be generous.
  • Try not to make assumptions, especially about people.

Intentional use of technology

The nature of this course means that computers will be omnipresent in our classroom. My experience as a teacher, student, and scholar has taught me that harnessing their power as tools requires mindful and reflective use. I have had to develop practices for checking in with myself to see if what I’m doing at any given moment is contributing to or distracting from my goals.

  • Please turn off all audio notifications on your personal devices before class starts.
  • I will ask you to attempt multiple forms of reading, note-taking, writing, and communication. I ask that you follow directions in good faith, knowing that I will not ask you to change your habits permanently and that I will give you a chance to reflect on and decide what modes of reading, writing, and discussion work best for you. (Exception: any student with a documented disability requiring technological accommodation for classroom activities.)
  • If devices of any kind are used in a distracting manner (e.g. texting, someone not participating in small group work because they are answering email, multiple people tuned out on Facebook leading to lackluster discussion), I will call attention to it publicly.
  • Have you heard the term “deep work“?

Facilities and support

MathLAN

The computer network used by the math and computer science departments is called the MathLAN; its machines run the Linux operating system by default, and we will be using Linux for this course.

Computer Labs

SCI 3819 is an open lab, available at most hours for students to use. Other possibile MathLAN-equipped lab classrooms include SCI 3813 and SCI 3819. If you need to finish up a laboratory exercise after class, this is the place to do it!

Course Mentor

This course will have a peer mentor, Destany Best [bestdest]. Destany’s role in our course will include support during labs, meeting with you outside of class to work through questions, input in assignment and activity design.

CS Tutors

Student tutors are hired to work in the open lab (and the adjoining room, SCI 3813) and answer questions about the MathLAN machines and their software (Sunday through Thursday, 7-10 pm). You can identify the tutor on duty by the flag at their workstation. These folks should be a good resource for many (though not all) of your coursework-related questions.

CS Learning Center

You are welcome to use this study space, located in SCI 3814, to work on assignments for this class. The CS Learning Center also hosts a library of CS-related books and magazines which you are welcome to use on the 3rd floor of Noyce.

CS Commons

Please feel welcome to use the CS Commons in SCI 3817 to take a break. Be respectful and share the space with other CS students.

Academic Advising Support 

If you have other needs not addressed above, please let me know soon so that we can work together for the best possible learning environment. In some cases, I will recommend consulting with the Academic Advising staff. They are an excellent resource for developing strategies for academic success and can connect you with other campus resources as well: http://www.grinnell.edu/about/offices-services/academic-advising. If I notice that you are encountering difficulty and I have reached out to you and not received a response, or if you have missed multiple class sessions or are not meeting our class objectives repeatedly, I will submit an academic alert via Academic Advising’s SAL portal. This notifies you of my concern, along with the Academic Advising team and your adviser(s), so that they can reach out to you with additional offers of support.

Honesty & intellectual integrity

Grinnell College’s Academic Honesty policy is located in the Student Handbook available online for the 2018-19 school year: Honesty in Academic Work.

It is the College’s expectation that students be aware of and meet the expectations expressed in this policy.

In computer science courses, these expectations include but are not limited to the following specific practices (adapted from prior CS 105 syllabi):

  • Collaboration policies given in this syllabus and on particular assignments will be followed.
  • When you explicitly work as part of a group or team, you need not identify the work of each individual (unless I specify otherwise). However, when you submit group work as part of your individual homework, you must attribute the other group members as contributors to the particular problem(s).
  • You may discuss concepts (algorithms, ideas, approaches, etc.) described in the readings, lab exercises, or during class with anyone.
  • You may only discuss homework assignments (algorithms, solutions, write-ups, code, debugging, etc.) with computer science tutors, the CSC 105 mentors, or the CSC 105 instructor.
  • All the work submitted (code, experimental data, write-ups, etc.) must be your own or that of your group. Code or documentation provided by the instructor must be attributed, including code that you copy and subsequently modify. No other code or written work (from any source) may be shared with others or copied for your own use.
  • All non-syntax consultations (i.e., ideas about algorithms) from any source, including the readings, labs, provided code, and internal or external language references, require formal citation within the related program or write-up.
  • Any conceptual contributions by individuals not in your group must be acknowledged and attributed in your report. That is you must give specific attribution for any assistance you receive. (This includes from tutors or mentors.) The suggested acknowledgment format is: “[Person X] helped me to do [thing Y] by [explaining Z].”
  • Any program results or output must be faithfully recorded, not forged. (A thoughtful explanation of unexpected behavior can often be a worthwhile submission and is much better than the alternative.)
  • You are responsible for safeguarding your work from being copied by others. This requires you to take reasonable precautions with hard copy printouts as well as file system permissions. (Note that MathLAN’s default permissions prevent others from viewing your files.)

As an instructor, I will meet my obligation to bring any work suspected to be in violation of the College’s Academic Honesty Policy to the attention of the Committee on Academic Standing, after which there is no recourse with me.

Troubleshooting

This course has a long history of being offered and developed by the Computer Science Department at Grinnell. This syllabus is based most closely on previous iterations offered by Dr. Jerod Weinman,  Dr. Ursula Wolz, and Dr. Katie Walden.

This is the third iteration of CSC 105 as taught by me. While I have thought carefully about each element of it, I recognize that teaching, like life and software, is buggy. Different learning communities have different needs, and not everything executes as imagined. For example, previous iterations of this course took place in a longer time slot, which might mean that lab work and out of class work need to be re-jiggered. I welcome feedback offered in good faith at any point, and I reserve the right to change elements of the course while in progress based on that feedback or my own assessment of progress. I will communicate clearly and in advance about changes made.

I especially invite you speak with me about particular interests and goals that you have related to this course. I would love to work with you to figure out how you can use this course as a platform for developing a knowledge base or competency that is useful for you in some way.

Acknowledgements

This syllabus and all course materials have been prepared in conversation with and adapted from the example of many generous colleagues, including but not limited to: those who taught prior iterations of CS 105 and created foundational materials, Dr. Jerod Weinman, Dr. Sam Rebelsky, Dr. Urusula Wolz, Dr. Katie Walden, Megan Adams, Dr. Erik Simpson, Dr. Mike Guenther, and Dr. Ryan Cordell.