Syllabus

Course Overview

This course is an exciting and unusual approach to intertwining two different sets of topics in ways that the instructors believe will be synergistic.

On the one hand, we will use a set of assignments from the nand2tetris program to understand “how computers work” from the bottom-up. While aspects of the material overlap slightly with CSE 311, CSE 351, CSE 369, and even several 400-level CSE courses, most of it is complementary and a useful broad overview. We hope this aspect of the course demystifies computers in an empowering way. We will call this aspect of the course “bottom-up computing.”

On the other hand, we will also focus on techniques and strategies for academic success in computer science and engineering at the university level. We will work on various topics such as time management, test taking, getting the most out of office hours, testing and debugging software, and more. These topics are crucial. We take the view that they should be explicitly taught and explicitly learned, but this cannot happen without practice. We will call this aspect of the course “academic skill-building.” It is also related to metacognition, which means awareness and understanding of one's own thought processes.

As such, the two threads of the course are complementary. This is a graded course where you will need to complete the nand2tetris projects, take a midterm, etc., but you will also have regular assignments where you reflect on how you used the academic skill-building in accomplishing the bottom-up computing. At the highest level, the goal is to learn how computers work and have increased skills and confidence for later CSE courses, internships, and jobs. The small class size is aimed to give all students an extraordinarily supportive environment as we all work together to challenge ourselves and overcome hurdles.

For more specific course topics and deadlines, see the course calendar.

Learning Objectives

By the end of the course, students should be able to:

Grading

Because this course is new and we are adapting to an online setting, we may need to adjust the breakdown, but our intent is to calculate grades as follows:

All the projects must be completed to earn a passing grade, even if submitted too late to receive credit for the assignment. See also the Late Policy below.

Prerequisites

We assume students have completed CSE 143 and at least 1 CSE 300-level majors course, though we will not rely on material from any specific course directly.

Inclusiveness

You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy a challenging course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructor know so the issue can be addressed.

Our Virtual World

This is a new course being piloted for the first time in Spring 2020. The instructors are excited, and ask you to approach the course with flexibility and curiosity. At the same time, the course begins, and may conclude, while the world in general and Seattle in particular are consumed by the COVID-19 pandemic. Like all Spring 2020 classes, we will interact with you virtually, without coming to campus. To state the obvious, this is not what any of us originally planned for.

We are going to make it work, and we want your help to make our course an interactive, meaningful experience where you get to know the course staff and your fellow students.

We also know you may face additional challenges during Spring 2020, which could include managing the technology to participate remotely, financial challenges from lost income, emotional challenges from social isolation, or the health of you or people close to you. Members of the course staff may have similar challenges. We are all in this together and Spring 2020 is a time for maximal flexibility and speaking up if challenges arise. Part of CSE390B is techniques that should help with resilience in the face of challenges; we hope the course helps provide solutions in these difficult times, not more problems. Let the course staff know how we can help.

Late Policy

You have three late days total for the quarter, so it is important not to fall behind. Late days are used in 24-hour chunks (you cannot use half a late day). Even if you have used all your late days, you still must submit all your assignments.

If you are falling behind, please communicate with us early so we can help you. However, you do not need to tell us in advance if you are going to use one of your late days for an assignment.

Academic Integrity

The projects and midterm in this class are to be done individually. You may ask the course staff for help when you are stuck. You may, and are encouraged to, discuss your high-level approach with fellow students, but you should complete your work on your own and not show your completed work to other students.

You should not receive help beyond high-level review of course concepts from others not in the class (tutors, friends, etc.) nor from web searches. You should not search for or use any solutions to work in the class that you find online.

If you have any questions about what is allowed, ask us in advance. Turning in work that is too similar to another student's or to information found online is unacceptable and will lead to a substantially lower grade and a formal report via the university mechanisms.

Accommodations

Please refer to university policies regarding disability accommodations or religious accommodations.

Texts

There is no textbook to buy. We will provide readings on the course calendar and list them all together on the course Resources page.