Syllabus

UVA CS1010 Spring 2024
Computing for Future Leaders and Global Citizens

Course Goals

This course has two main objectives:

  1. Provide you with an understanding of computing that will help you better understand the world today and tomorrow.

  2. Empower you to use computing better.

For both of these goals, we will aim to understand how computers work, what computers can and cannot do, the kinds of questions to ask before trusting a computing systems, and the potential risks when computing systems are misused or abused.

This course is loosely inspired by Richard Muller’s Physics for Future Presidents course at Berkeley (and also a popular book). That course aimed to cover what every future world leader needs to understand about physics, including topics like climate change, nuclear weapons, and communications.

Today’s world leaders still need to understand physics, of course, but the need to understand computing is at least as essential. Whether you aspire to create a buisness, teach in middle school, become a doctor, or nearly any other future occupation including just being a functioning citizen in the modern world, computers will have a dramatic impact on your lives. Understanding enough about how computing systems work and how they are built and deployed is essential for being an informed citizen and making critical decisions that impact yourself and others.

Prerequisites: None! This course does not have any required prerequisites. I expect students are able to read and write well in English, and be comfortable with mathematics that you probably saw first in middle school (we’ll use a basic operations, a little algebra, exponentiation, logic, and sets, but will review any topics that might be unfamiliar). No previous computing experience is expected, other than expecting that everyone has used computers to some extent (which if you registered for this course you must have!) and that you are curious about how the computing systems you use work, and about how computers impact you and society.

Meetings

Tuesdays and Thursdays, 11:00am-12:15pm in Olsson Hall 009.

Teacher

David Evans

I’ve been teaching at UVA for nearly 24 years and wanted to teach a course like this for many years, but this is my first time teaching this course. I’ve taught a wide variety of other courses, ranging from theoretical computer science and operating systems to biological computing and generative AI.

My office hours are Mondays, 1:30-2:30pm in Rice 507. I am also usually available right after class. If you want to schedule another time to meet with me, use http://davidevans.youcanbook.me/.

Teaching Assistant. Beenish Gul. Office hours are Wednesdays, 3:00-4:00pm in Rice 442.

Course Approach

I realize this is not a required class for anyone, and that it doesn’t count toward satisfying any vexing degree requirements, so hopefully that means everyone here is taking the course because they are curious abou the things we will cover in this course and want to become more empored computing users and citizens.

I also appreciate that this should mean that it is a low stress course without excessive workload. I aim to make the course satisfy that expectation, while being as worthwhile and fulfilling as possible. To that end, the course is designed with the expectation that much of the learning in the course will happen during class time, and I will do my best to make classes as engaging as possible. Success of this depends a lot on students in the class coming to class with a good attitude, open mind, and willingness to participate fully.

Assignments and Activities

The Course Calendar will be maintained in Canvas to keep track of deadlines for assignments. Students are encouraged to subscribe to the course calendar using this URL: https://canvas.its.virginia.edu/feeds/calendars/user_B6RZ9nTXGxRvW8gTHIUYrqhCLKFZ9lghom8iupcR.ics.

Class Meetings. Students are expected to attend and participate actively in all class meetings. I won’t take attendance for the sake of taking attendance, but there will often be activities in class where a student’s efforts (or abscence) will be noted. Of course, there are sometimes good reasons students are not able to make it to class, and if a student with a justifiable reason for missing class isn’t able to participate occasionally, I won’t hold it against you, but it is your responsibility to let me know. If you are unable to come to class, you should submit the Missing Class Form.

Readings. There is no textbook for the course. There will be a variety of readings (and occasionally viewings or listenings) assigned. Some reading assignments will be intended as preparation or postreflection for material we discuss in class. Others will be needed to answer questions well on homeworks. I will limit required readings to openly available materials (and favor materials available under Creative Commons licenses, but will also include copyrighted materials under academic fair use), although there may occasionally be recommended optional materials that are not openly available.

On-Line Discussion (including weekly news article). I hope the class with have a vibrant on-line discussion forum, and expect all students in the class to contribute to an engaging, respectful, and intellectually and personally rewarding discussion. As part of this, each student in the class is expected to contribute at least once each week by either (a) posting a link to a news article that has some relevance to computing, with a comment that (1) briefly summarizes the main point of the article, (2) explains explains why you found the article interesting, and (3) asks a question you have about something in the article (good questions will be about some technical aspect or term in the article, or questioning the validity of some statement in article) or (b) respond in a meaningful way to an article that another student has posted, including an attempt to answer the question they asked.

Projects. There will be four projects (updated from the original syllabus) during the semester that include answering questions (based on readings and classes) and doing activities to learn about and demonstrate knowledge of computing systems. Projects will combine developing foundational understanding with learning practical skills and building awareness of issues that impact users of computing systems.

The course includes these four projects:

Exams. There will be exams in class on Thursday, 27 February and Tuesday, 9 April.

Final Exam. There won’t be a required final exam, but there will be an opportunity for students who are not satisfied with their provisional grade to take an oral exam to demonstrate that they have learned enough in the class to justify a higher grade.

Grading. I encourage students to spend your energy focusing on what you are learning, instead of worrying about your grade. That said, I understand students are often stressed about grading and understandably want to know how grades will be determined. I aim to grade in a way that is useful (provides students with accurate measure of how well they understood what they should), motivating (encourages the desired behaviors, including a reasonable amount of effort), fair (assigns higher grades to more deserving students), robust (arbitrary small perturbations do not have a material impact on someone’s grade), and low stress (for both students and me).

For this reason, we choose not to prescribe a singular mathematical formula for quantitatively assigning letter grades but do provide a formula that can be used to compute a lower bound on the grade you receive in the course:

Item Standard Weighting
Projects40%
Exam 110%
Exam 215%
On-Line Discussion / News Articles15%
In-Class Contribution20%

With the exception of cases of academic dishonesty or inappropriate behavior, we guarantee that you will a grade that is not below the grade that would result from computing your score using the percentages in the table, where your score for each item is the ratio of the score you received to the target score for that item, and the grading scale is based on the standard decades (e.g., 0.87 = B+, 0.9 = A-, 0.93 = A).

This is a minimum grade, though, and we generally want to assign a grade that reflects the best possible interpretation of all you have done during the semester. This means we consider your performance throughout the course, and in cases where performance varries across the different assignments or will examine grades using a variety of different methods that weights different aspects differently and rewards performance improvements, but also allows consistent performance to make up for one slip-up.

Honor Expectations

We believe strongly in the value of a community of trust, and expect all of the students in this class to contribute to strengthening and enhancing that community.

The course will be better for everyone if everyone can assume everyone else is trustworthy. The course staff starts with the assumption that all students at the university deserve to be trusted.

To ensure that expectations are clear to everyone, all students are required to read, understand, and adhere to the course pledge: https://computingfor.github.io/pledge.

Collaboration and Resource Use Policy: We believe it is important for students to learn by thinking about problems on their own, so it is expected that each student studies the provided materials and attempts to solve the problems on their own. After that, you are welcome to also discuss problems on the problem sets with students and others.

The collaboration and resource use policy will be described on each assignment document. We aim to make the language describing the policy as clear and unambiguous as possible, but if anything is ever unclear about the stated policy for an assignment, please clarify with the instructor. The penalty for policy violations will be considered on a case-by-case basis, with a penalty commensurate the severity of the offense. In most cases, you will be encouraged to use any resources you want (including generative AI tools, which will sometimes be explicitly mentioned), so long as you document all resources you used beyond the course materials and how you used them.

Additional Information

This is similar to information that applies to most classes at UVA.

Special Circumstances: The University of Virginia strives to provide accessibility to all students. If you require an accommodation to fully access this course, please contact the Student Disability Access Center (SDAC) at (434) 243-5180 or sdac@virginia.edu. If you are unsure if you require an accommodation, or to learn more about their services, you may contact the SDAC at the number above or by visiting their website https://studenthealth.virginia.edu/sdac

Accommodations: It is the University’s long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when serious personal issues conflict with academic requirements. Although University policy only recognizes religious accomodations, the course instructor believes they are many other valid reasons for accomdations that are at least as justifiable as ones for religious observance and consider family obligations, personal crises, and extraordinary opportunities to all be potentially valid reasons for accomodations. Students who wish to request accommodations should submit their request to Prof. Evans as far in advance as possible.

If you have questions or concerns about the University policy on academic accommodations for religious observance or religious beliefs, visit https://eocr.virginia.edu/accommodations-religious-observance or contact the University’s Office for Equal Opportunity and Civil Rights (EOCR) at UVAEOCR@virginia.edu or 434-924-3200.

Safe Environment: The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. To that end, it is vital that you know two values that we and the University hold as critically important:

  1. Power-based personal violence will not be tolerated.
  2. Everyone has a responsibility to do their part to maintain a safe community on grounds (including in virtual environments).

If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available: https://www.virginia.edu/sexualviolence.

As your professor and as a human, know that I each care about you and your well-being and stand ready to provide support and resources as much as I can. As a faculty member, I am classified as a responsible employee, which means that I am required by University policy and federal law to report what you tell us to the University’s Title IX Coordinator. The Title IX Coordinator’s job is to ensure that the reporting student receives the resources and support that they need, while also reviewing the information presented to determine whether further action is necessary to ensure survivor safety and the safety of the University community. If you would rather keep this information confidential, there are Confidential Employees you can talk to on Grounds (see https://eocr.virginia.edu/chart-confidential-resources). The worst possible situation would be for you or your friend to remain silent when there are so many here willing and able to help.

Well-being: If you are feeling overwhelmed, stressed, or isolated, there are many individuals here who are ready and wanting to help. The Student Health Center offers Counseling and Psychological Services (CAPS) for all UVA students. Call 434-243-5150 (or 434-972-7004 for after hours and weekend crisis assistance) to get started and schedule an appointment. If you prefer to speak anonymously and confidentially over the phone, Madison House provides a HELP Line at any hour of any day: 434-295-8255.