Basic Facts

Introduction to Computer Systems

This new course links together different ideas that you have encountered but not covered deeply in other courses. We’ll learn about tools used in programming and how they work. The goal of this course is to help you understand how your computer and programming environment work so that you can debug and learn independently more confident.

Quick Facts

  • Course time: Spring 2022, TuTh 12:30PM - 1:45PM

  • Credits: 4

To request a permission number complete this google form you must be signed into your URI google account to access the form

Why Take this course

  1. use and understand git/ GitHub

  2. make sense of cryptic compiler messages

  3. understand how file organization impacts programming

  4. fulfill your 300 level CSC elective requirement

  5. preview ideas that will be explored in depth in 411 & 412

Topics covered

this is a partial list

  • git and other version control

  • bash and other shell scripting

  • filesystems

  • basics of hardware

  • what happens when you compile code

  • what are the different types of software on your computer

Catalog Description

How the history and context of computing impacts the practice of computing today. Tools used in programming and computational problem solving. How programming works from high level languages to hardware. Survey of computer hardware and representation of information. Pre: CSC110, any 200 level CSC course, or equivalent.

Learning Outcomes

By the end of the semester, students will be able to:

  1. Differentiate the different classes of tools used in computer science in terms of their features, roles, and how they interact and justify positions and preferences among popular tools

  2. Identify the computational pipeline from hardware to high level programming language

  3. Discuss implications of choices across levels of abstraction

  4. Describe the context under which essential components of computing systems were developed and explain the impact of that context on the systems.

About this syllabus

You can get notification of changes from GitHub by “watching” the repository You can view the date of changes and exactly what changes were made on the Github commit history page.

Creating an issue is also a good way to ask questions about anything in the course it will prompt additions and expand the FAQ section. That will be linked when sovle and you will get a notification at that time.

About your instructor

Name: Dr. Sarah M Brown Office hours: TBA via zoom, link on BrightSpace

Dr. Sarah M Brown is a second year Assistant Professor of Computer Science, who does research on how social context changes machine learning. Dr. Brown earned a PhD in Electrical Engineering from Northeastern University, completed a postdoctoral fellowship at University of California Berkeley, and worked as a postdoctoral research associate at Brown University before joining URI. At Brown University, Dr. Brown taught the Data and Society course for the Master’s in Data Science Program. You can learn more about me at my website or my research on my lab site.

You can call me Professor Brown or Dr. Brown, I use she/her pronouns.

The best way to contact me is e-mail or an issue on an assignment repo. For more details, see the Communication Section