Course Syllabus


Note: Some links on this page may only be accessible to registered students.

Welcome to CS 261: Data Structures (online)

The purpose of this course is to develop your knowledge and understanding of data structures. The course was intentionally designed so that, at the end of the term, you will be able to do the following:

  • Describe the properties, interfaces, and behaviors of basic abstract data types, such as collection, bag, indexed collection, sorted collection, stack, and queue.
  • Read an algorithm or program code segment that contains iterative constructs and analyze the asymptotic time complexity of the algorithm or code segment.
  • State the asymptotic time complexity of the fundamental operations associated with a variety of data structures, such as vector, linked list, tree, and heap.
  • Recall the space utilization of common data structures in terms of the long-term storage needed to maintain the structure, as well as the short-term memory requirements of fundamental operations, such as sorting.
  • Design and implement general-purpose, reusable data structures that implement one or more abstractions.
  • Compare and contrast the operation of common data structures (such as linear structures, priority queues, tree structures, hash tables, maps, and graphs) in terms of time complexity, space utilization, and the abstract data types they implement.

We call this list the course Learning Objectives. We recommend that you periodically revisit this list throughout the term to check your progress on developing this knowledge and these skills.


Course Structure

We structured the course around the Learning Objectives, above. We will present the material and assess your learning in multiple ways, including the following:

  • Weekly readings
  • Explorations and Video lectures
  • Programming assignments (completed individually)
  • Quizzes

Note: There will be no exams in this course that need to be proctored.


Your Instructional Team


Randy Scovil (                                                                   normandy_beach.JPG

Hey there, I'm Randy Scovil and I will be your instructor tonight (and all quarter) for CS 261 - Data Structures.  This is a crucial course that I'm very familiar with and 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 very excited to be starting with 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 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 (that's me on Omaha Beach on a rather windy day - I did not wade ashore.)  So wherever you may be, I may have been there.

This course really is the "keys to the kingdom" for Computer Science and is a great on-ramp to your upper division work.  You'll get a great feel for using and choosing data structures.  You'll also get a feel for how they are implemented and start to see the kinds of quality code you are capable of writing.  It will definitely help open up how you see the field and see things not just in terms of tasks but also your data.


Undergraduate Learning Assistants(ULAs) 

Lisa Bettcher

Jonah Biedermann

Sriram N. Narayanan 

Noah Sapse 

Elayne Trimble


Note: Some links on this page may only be accessible to registered students.


Please read the syllabus and course guidelines very carefully: CS261_40X_Weekly_Syllabus&Course_Guidelines_Summer2021.pdf  

You may also want to look over the weekly schedule or download it for your records: CS261_40X_Weekly_Schedule_Summer2021.pdf  


Note: Some links on this page may only be accessible to registered students.


Ed Discussion Board

Ed Discussion is the best place to get help with course-related questions.

MS Teams Workspace

MS Teams is where to look for real-time help from peers and the instructional team.

  • The official MS Teams workspace name is: 

    CS 261 U21 (Online)


Course Resources

There is no required textbook for this course. Reading and learning materials are provided via Canvas.


Instructor Contact Information

  • Office Hours Information

The Instructors will hold fixed weekly office hours starting from the week of 06/21/2021. Office hours are held via the official MS Teams channel (office_hours). The contact and office hours information of the Instructor are provided as follows -

  • Communication Policy
    • Ed Discussion is the best way to reach instructors for any course-related query. We can refer back to our previous discussions here and also as it will be visible to the entire class. So, the other students will be able to get benefit from it. Not all posts require a reply from me and often it is better for students to hash out an answer to a question. But please email us or send a message on MS Teams if you do not receive a reply within 48 hours.
    • Sending an email to the instructor for your section is the preferred mode of communication for discussing matters of a personal nature related to the course (Please include the prefix CS261_401_U21  in the subject). Please resend the email if we do not respond within 24 hours. 

ULA Contact and Office Hours Information

The  ULAs will hold fixed weekly office hours starting from the week of 06/21/2021. Office hours are held via the official MS Teams channel (office_hours). The contact and office hours information of the ULAs are provided as follows:

Lisa Bettcher
Email:  Office hours: Wednesdays 5:00 - 7:00 pm PST

Jonah Biedermann
Email:  Office hours: Fridays 10:00 am - 12;00 pm PST

Sriram N. Narayanan 
Email:  Office hours: Mondays through Wednesday 3:00 - 4:00 pm PST, Thursday 4:00 - 5:00 PST ***HOURS ADDED

Noah Sapse 
Email:  Office hours: Mondays 12:00 - 2:00 pm PST, Fridays 5:00 - 7:00 PST ***HOURS ADDED

Elayne Trimble
Email:  Office hours: Thursdays 2:00 - 4:00 pm PST


The College of Engineering (COE) offers a variety of academic support resources for students. There are remote  tutoring  services available through the COE by appointment and drop-in. There are also  tutoring  services available through the College of Science. More information about these and other academic support services can be found on the COE’s  Academic Support  website. For writing assistance, the Oregon State  Online Writing Suite  is a great resource for students enrolled in Ecampus courses. If you have additional  tutoring  needs, or have questions about these services, please contact Casey Patterson at .

Note: Some links on this page may only be accessible to registered students.


Now that you've read the syllabus, here's what to do next:

  1. Read over the important information in this module: Start Here
  2. Take the Syllabus Quiz
  3. Look over the Week 1 Learning Module
  4. Begin working on the tasks in the Week 1 Overview



Course Summary:

Date Details Due