Course Syllabus

NOTE: Some links in this syllabus page may only be accessible to currently enrolled students.

This course explores the fundamentals of system-level programming using C and C++, covering terminals, shells, C basics, pointers, memory models, and more. We’ll learn to design and implement C and C++ programs, navigate language build pipelines, use terminals and shells, solve problems with different memory models, and manage dynamic memory.

Our Student Learning Outcomes are:

  1. Design and implement robust system software programs in C and C++
  2. Navigate the build pipeline of a compiled language implementation
  3. Interact with a computational environment through a terminal and shell
  4. Apply different memory models to solve various kinds of computational problems
  5. Manage dynamic memory in a programming language without a garbage collector, automatic reference counter, or other form of automatic memory management.

Course Instructor: Randy Scovil

Hey there, I'm Randy Scovil and I will be your instructor tonight (and all quarter) for CS 74 - Intro to Systems Programming.  I think that you will find this to be a highly enlightening course.  It's one I've taught in multiple millennia so I'm very familiar with the material.  I think you'll find it very valuable!

I recently joined the Ecampus program but I am not new to teaching.  I have been teaching Computer Science in any/all modalities for over 20 years.  I've taught a variety of courses for majors, support courses, GE -  you name it.  I do have to say that this one of my favorites though so I'm pretty excited that they gave me this course!

I've also worked with many students who were preparing to transfer or just had, so I definitely understand that point of view (plus I transferred a couple times during my college years and changed majors.)  I've taught at a university as well as a couple community colleges so I have been fortunate to work with students from a wide range of backgrounds but with common objectives.

I have a M.S. in Computer Science from Cal Poly (San Luis Obispo) where I started my teaching career as a graduate student.  I also have a B.A. in Telecommunications and Film from San Diego State University with a minor in History (I switched from a CS major but returned to it in grad school.)

I also spent many years in the broadcast industry, primarily working in music (rock and alternative) and sports radio.  I was very involved in programming and marketing stations in addition to my on-air work.  I also did radio play-by-play for Cal Poly for many years (that and teaching paid for grad school.)

Therefore it's no surprise that I really enjoy music and sports.  I'm looking forward to adopting the Beavers as my latest team!  My radio work gave me the opportunity to travel and live across the country, and I also enjoy traveling internationally.  So wherever you may be, I may have been there.  Last year I moved back to San Diego after living in the San Luis Obispo area for many years, and I think that's it!

This course will give you exposure to and practice with some key areas that may be new to you such as static typing, pointers, and dynamic memory allocation.  While they may take a bit more work at first than some of the more abstract programming languages, you will soon see just how powerful they will make you!

Our syllabus is available as a PDF file.

Instructional Staff

Instructional Staff
Role Name Email
Teacher
Randy Scovil
scovilr@oregonstate.edu
ULA Charlotte Riley-VanWagoner

(contact via Teams during Office Hours only)

Communication Policy

Grading & Regrading & Extensions

We will attempt to grade the assignments within 7 days of the due date. For questions related to grading, regrading, or extensions, please follow the instructions in the course syllabus.

You can request a regrade on an assignment by contacting your grader within 48 hours of receiving your grade (See the Syllabus for details).

Assignments & Course Content

Ask questions about assignments and course content on Ed discussions, as opposed to emailing the instructor.  This will allow these questions and answers available to everyone. You will also get an answer to your question far faster by posting in Ed than by emailing!

Personal Questions

For personal questions, please email the teacher from your OSU email account. You must put CS274 in the subject line, or else I may miss it. You can also post a private message on Ed Discussions.

Emails

If you email the teacher use your OSU email account. You must put CS274 in the subject line, or else we may miss it.  Please DO NOT use Canvas Messaging.

Response Time

We will strive to respond to email and Ed posts within two business days. We will aim to have the assignments graded within 7 days of the due date. Please note that we may not be accessible over the weekend and on holidays.

Office Hours

The best place to ask questions and get help is on Ed discussions and Teams. We also have Office Hours for this course via Teams. Here are our office hours times (only contact us here during these hours):

  • Randy Scovil :: Monday and Wednesday - 6-7pm
  • Charlotte Riley-VanWagoner :: Tuesday and Thursday - 6-7pm

Note: Office hours will not be held during the first week (i.e. 0 week) of class, Finals Week, or on days that the University has off (holidays, inclement weather days, etc.). The Instructors and TAs reserve the right to cancel or move office hours, but will give appropriate warning, if possible.

 

Course Summary:

Course Summary
Date Details Due