Course Syllabus

IMPORTANT NOTE:  All dates and policies contained in the CS 1030 syllabus and Canvas course are subject to change.  Students can expect to be informed immediately and clearly of any changes.

Critical Information

Instructor

Prof. Parker, 3144 MEB, parker@cs.utah.edu 

Class meetings

Mondays and Wednesdays 11:50a-1:10p in 1230 WEB, led by Prof. Parker

Lab sessions

Thursdays 9:40-10:30a or 10:45-11:35a in SFEBB 5160B, led by Teaching Assistants (TAs)

Attendance and recordings

Due to the interactive nature of class meetings, attendance is required (details below).  When not prevented by technical difficulties, class meetings on Mondays and Wednesdays are recorded.  These recordings include only video of the instructor's screen, audio of the instructor, and occasionally, audio of students who ask questions.  These recordings are not intended as a substitution for attending class.  Furthermore, they are not of optimal quality and may not be available for every class meeting.  Lab sessions on Thursdays are not recorded and attendance is required.

Important dates

All exams are paper-based, administered in person, and may not be missed.

  • Midterm 1 is Wednesday, February 8 during the class meeting.
  • Midterm 2 is Wednesday, March 22 during the class meeting.
  • Final Exam (cumulative) is Thursday, April 27 10:30a-12:30p.

Final course grade

If a student's average score on exams is 65% or better, their final CS 1030 grade is comprised of assignments 40%, exams 40%, labs 15%, class meeting attendance 5%.  Otherwise, their final course grade is the same as their exam average. 

Communication

All class announcements and student questions (public or private) take place on Piazza — sign up right away and set notifications appropriately.

Posting of course materials by students

All CS 1030 course materials belong to Prof. Parker and the University of Utah.  These materials are made available to students enrolled in CS 1030 this semester.  No student may post or share outside of class any materials (syllabus, lecture slides, assignment instructions, recordings, etc.) without the instructor's explicit permission.  Doing so is a violation of copyright.

Course Information

CS 1030: Foundations of Computer Science provides an elementary look at the systems and machinery that form the foundation of computing.  The course takes a bottom-up approach, tracing computation from bits to gates and the underlying structure of a computer to programming at the machine-, assembly-, and abstract language-level.

CS 1030 is a required course for students majoring in Software Development.  Students pursuing other majors should consult with the instructor or an academic advisor before continuing.

Learning objectives 

Upon completion of CS 1030, students are able to:

  1. manipulate binary values and understand the consequences of the internal representation of numbers (including overflow and rounding error) and non-numeric data (such as characters)
  2. express basic combinational Boolean logic as digital circuits and truth tables
  3. describe the functional workings of a Von Neumann Architecture and write machine-language instructions for a basic Von Neumann Architecture simulation
  4. compose simple programs in a RISC-like assembly language
  5. implement elementary scientific solutions in a C-like programming language
  6. summarize the levels of translation and tools that enable a program written in a high-level programming language to be executed on a computer
  7. recognize the impact of memory accesses on program performance

Students can expect to achieve these outcomes only if they attend class meetings and lab sessions, as well as complete assignments, labs, and exams in good faith and on time.  Furthermore, students may vary in their competency level on these outcomes.

Course Materials

Website

The CS 1030 Canvas course is always under development, with updates to the class schedule, course notes, assignment specifications, and more, occurring regularly.  It is critical that students become familiar with the Canvas course right away and plan to visit it three times a week, at a minimum.

Textbook

There is no required textbook to purchase for CS 1030.  Reading is assigned from free, online sources.

Introduction to Computing Systems: From Bits & Gates to C/C++ by Yale Patt and Sanjay Patel is recommended for students who desire a deeper understanding of course concepts.

Course notes

The instructor often makes use of slides, sample source code and circuit diagrams, and other materials during class.  These items are posted to Canvas following the class meeting.

Laboratory practice

Lab sessions meet on Thursdays to give students guided practice applying the concepts of CS 1030.  To avoid more participants than can be managed by the TA(s), students should regularly attend the lab section for which they are registered.  Infrequently attending a different lab section is allowed and need not be approved by the instructor.  Students should bring their own laptops or plan to borrow a laptop from the Marriott Library for the semester.

Personal computers

Students may use their own computers or ones borrowed from the library for completing assignments; however, broken tools or computers, or network connectivity issues are not sufficient basis for a deadline extension.  Plan ahead and use a campus lab computer if problems arise.

Student Evaluation

Assignments

The instructions for each assignment and its due date are posted on Canvas at least one week before it must be submitted. It is the student's responsibility to ensure the successful and timely submission of each assignment — start early and follow the instructions carefully.  Corrupted or missing files are not grounds for extensions — double-check your submissions and save a digital copy of all of your work in your College of Engineering account.  The timestamps of files outside of your College of Engineering account are not trusted.

Each assignment's deadline is followed by a one-day late period.  Late submissions are penalized 10%.  Note that 12a marks the start of a new day and -10%.

Exams

Midterm exams are to be given during class meetings on February 8 and March 22.  The final exam is cumulative and to be given 10:30a-12:30p April 27.  No exam may be taken at a different time for any reason other than a medical emergency or conflict with another exam, and documentation may be required.

Each student must bring their UCard to every exam, and they may be asked to show their UCard when turning in the exam.  No other type of identification may be used for this purpose.

Labs sessions

Each lab is comprised of a TA-led activity and a paper worksheet, to be completed by students each Thursday.

Class meeting attendance

Attendance is recorded in each class meeting and students are required to attend.  Students may miss up to three class meetings with no impact to their final course grade.  

Regrades

Students desiring to appeal a score on an assignment, lab worksheet, or exam must do so via Gradescope.  All such appeals are due no later than one week after the score is published.

Letter grades

The following table is used to associate numerical scores with the corresponding letter grade.  Note the lack of rounding.

93 ≤ X ≤ 100 A
90 ≤ X < 93 A-
87 ≤ X < 90 B+
83 ≤ X < 87 B
80 ≤ X < 83 B-
77 ≤ X < 80 C+
73 ≤ X < 77 C
70 ≤ X < 73 C-
67 ≤ X < 70 D+
63 ≤ X < 67 D
60 ≤ X < 63 D-
X < 60 E

Getting Help

To get help understanding course material, students may see the Teaching Assistant(s) during TA Help Hours, see the instructor during Office Hours, or post a question to Piazza.  To contact the course staff directly, use Piazzause of the Canvas Inbox or email is discouraged for CS 1030 communications.  See the Instructions on how to get help page for details.

Policies and Guidelines

Laptop and mobile device policy

Students are expected to engage with the instructor and classmates during class meetings.  Laptops and mobile devices are permitted for note taking; however, research has shown that handwritten note taking is more beneficial to students than typed note taking1.  All CS 1030 exams require students to handwrite solutions on paper, making handwritten note taking good practice.  Furthermore, laptops and mobile devices tempt students to multitask during class meetings, the success of which is wishful thinking for students who must focus in order to learn new and complex material.  For these reasons, students are discouraged from using laptops and mobile devices during class except when contributing to polling questions.

ADA statement

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities.  If you need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability & Access, 162 Olpin Union Building, 801-581-5020.  CDA will work with you and the instructor to make arrangements for accommodations. 

All written information in this course can be made available in alternative format with prior notification to the Center for Disability & Access.

Other polices and guidelines 

Students are bound by the following policies and guidelines:

Students should read and understand each of these documents, asking questions as needed.

Student mental health resources

Rates of burnout, anxiety, depression, isolation, and loneliness have noticeably increased during the pandemic.  If you need help, reach out for campus mental health resources, including counseling, trainings and other support.

Consider participating in a Mental Health First Aid or other wellness-themed training provided by our Center for Student Wellness and sharing these opportunities with your peers.

1Mueller, P. A. & Oppenheimer, D. M. (2014). The pen is mightier than the keyboard: Advantages of longhand over laptop note taking.  Psychological Science, 25(6), 1159-1168. doi:10.1177/0956797614524581.