Course Overview

This course teaches the principles of computer science and the effects of digital technology on society. Although digital technology may feel like a force of nature, ultimately it is people who decide how technology is developed, and how it is deployed; we are responsible for maximizing technology’s benefits, while minimizing its downsides. However, it is impossible to meaningfully discuss technology without understanding how it works. This course teaches introductory computer programming and other relevant computing skills. No prior experience with computer programming is expected. Upon completing this course, you will have a solid understanding of how computer programs are created and how information is stored digitally. You will also have developed opinions about digital privacy, technological bias, and other matters of critical importance to society.

Prerequisites

This course does not have any prerequisites. In particular, no prior experience with computer programming is expected.

Textbooks

“Blown to Bits,” 2nd edition, by Hal Abelson, Ken Ledeen, Harry Lewis, and Wendy Seltzer
Available online, licensed under Creative Commons

Additional readings will be linked from the course website.

Course Content

Material will be taught in interactive lab sessions, rather than lectures. Class will begin with a short presentation of computing in the news. Next, you will work on an assignment. Programming assignments are from “The Beauty and Joy of Computing” (BJC) curriculum. BJC is an AP CS Principles curriculum, designed to teach computer science concepts, while avoiding the learning curve of traditional programming languages. Consequently, these assignments use the Snap! block-based programming environment. Other classes will feature discussions and related activities.

In preparation for class, you are expected to complete assigned readings and activities. In addition, you will work on a final project, for which you will read and report on a societal computing book of your choice.

Activities and Estimated Durations

Learning Objectives

The course has two main learning objectives. First, you will learn the fundamentals of computer programming and digital technology. Second, you will apply this knowledge to reason about the social impact of different technologies. Computing skills you learn in this class will serve you well in other disciplines, and can also prepare you for further study in the field of Computer Science. Forming opinions about technology’s impact on society will make you an informed citizen, and may also prepare you to be an ethical developer of technology.

Course Attribute Descriptions

These learning objectives fit well with Clark’s LEEP learning outcomes and vision of liberal education.

Engaged Hours

To get the most out of the course, regular in-person attendance is expected. As a one-credit course, you are expected to participate in 180 hours of engaged academic time over the course of the semester. Weekly time expectations are detailed below:

Since the semester has 15 weeks, the total time commitment comes to 180 hours.

Grade Calculations

The following percentages are tentative and may be changed at the instructor’s discretion:

Policies and Miscellaneous

The official administrative business of this class will be conducted by email

Explanation of absence, etc. will be processed via email so that we both have a written record of what was agreed. Feel free to discuss in person but an email follow-up is required for the official record.

Attendance is expected

If you must be absent, please contact me well in advance to let me know why you won’t be in class. Options may include attending class with the other section or remote attendance. Excused absences are reserved for medical or family emergencies, and will require make up work.

Computer use policy

You are welcome to use your own device to work on course assignments during class. However, do not use class time to work on other homework, check email, or surf the web. Such activities can be distracting to other students.

We encourage you to use the docking stations in class – this will make pair programming easier, and will make it easier for us to see your code.

Assignments are due on time

That is, at 11pm on the listed due date, with additional 59 minute courtesy time. Late submissions will not be accepted.

Plan your work accordingly: work diligently during class, ask for help when you get stuck, and seek help outside of class if necessary.

No special make-up work will be accepted after the end of the semester

In the event of a documented major medical problem, a grade of Incomplete will be given pending the submission of complete work. However, make up work “to improve one’s grade” will not be accepted.

Pair Programming

In this course, you’ll use a collaboration technique called pair programming – writing computer programs in teams of two. One partner, the driver, controls the computer. The other, the navigator, helps catch errors and keeps track of how the code being written fits into the overall plan. The navigator is also in charge of reading the lab pages out loud. Aim for equal time in each role, switching about every five minutes. To collaborate in pair programming:

How not to do pair programming: The biggest mistake in pair programming is for the navigator to tune out and let the driver do all the work. The navigator has to be paying attention; otherwise you’re just taking turns doing the entire work instead of making use of the benefits of having two people.

Adapted from “The Beauty and Joy of Computing.”

Academic integrity: cheating and plagiarism

Academic integrity is a basic value for all higher learning. Simply expressed, it requires that work presented must be wholly one’s own and unique to that course. All direct quotations must be identified by source. Academic integrity can be violated in many ways: for example, by submitting someone else’s paper as one’s own; cheating on an exam; submitting one paper to more than one class; copying a computer program; altering data in an experiment; or quoting published material without proper citation of references or sources. Attempts to alter an official academic record will also be treated as violations of academic integrity.

To ensure academic integrity and safeguard students’ rights, all suspected violations of academic integrity are reported to the College Board. Such reports must be carefully documented, and students accused of the infraction are notified of the charge. In the case of proven academic dishonesty, the student will receive a sanction, which may range from an F in the assignment or course to suspension or expulsion from the University.

Do not, under any circumstances, copy another person’s code or show your assignment code to other students (unless they are part of your programming pair). Incorporating someone else’s code into your program in any form, or allowing someone to do so with your code, is a violation of academic regulations. In addition to standard definitions of plagiarism, with respect to this course, plagiarism is also defined to include:

You may not publish your solutions to this course’s programming problems in a way that could compromise their utility as pedagogical tools.

Note that I will run automatic plagiarism detection software on assignments, which I will use as a starting point to investigate suspected plagiarism.

If you have any questions about these matters, please consult the instructor.

Welcoming class atmosphere

I strive to make this course welcoming and productive for all students. Please let me know what name and pronoun you prefer to be called. Please bring any issues or concerns to my attention.

Students with Disabilities

Clark University is committed to providing students with documented disabilities equal access to all university programs and facilities. Students are encouraged to register with Student Accessibility Services (SAS) to explore and access accommodations that may support their success in their coursework. SAS is located on the second floor of the Shaich Family Alumni and Student Engagement Center (ASEC). Please contact SAS at accessibilityservices@clarku.edu with questions or to initiate the registration process. For additional information, please visit the SAS website.

Title IX Reporting

Clark University and its faculty are committed to creating a safe and open learning environment for all students. Clark University encourages all members of the community to seek support and report incidents of sexual harassment to the Title IX office (titleix@clarku.edu). If you or someone you know has experienced any sexual harassment, including sexual assault, dating or domestic violence, or stalking, help and support is available.

Please be aware that all Clark University faculty and teaching assistants are considered responsible employees, which means that if you tell me about a situation involving the aforementioned offenses, I must share that information with the Title IX Coordinator, Brittany Rende (titleix@clarku.edu). Although I have to make that notification, you will, for the most part, control how your case will be handled, including whether or not you wish to pursue a formal complaint. Our goal is to make sure you are aware of the range of options available to you and have access to the resources you need.

If you wish to speak to a confidential resource who does not have this reporting responsibility, you can contact Clark’s Center for Counseling and Professional Growth (508-793-7678), Clark’s Health Center (508-793-7467), or confidential resource providers on campus: Prof. Stewart (als.confidential@clarku.edu), Prof. Palm Reed (kpr.confidential@clarku.edu), and Prof. Cordova (jvc.confidential@clarku.edu).

Disclaimer

The instructor reserves the right to make changes to any information contained in this syllabus at any time during the semester. Any substantial changes will be announced.