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.
  • 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 operations 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.
  • Read an algorithm or program code segment that contains iterative constructs and analyze the asymptotic time complexity of the algorithm or code segment.

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 your knowledge and these skills.


Course Structure

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

  • Weekly readings
  • Explorations and Video lectures
  • Written and 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 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 (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.

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


Course Syllabus

Course Schedule


Take the Syllabus Quiz.


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.

Office Hours - MS Teams

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

  • The official MS Teams workspace name is: 


CoE Peer Tutoring

Schedule free personalized tutoring with our College of Engineering student tutors.  You can get more information and make an appointment here:  CoE Peer Tutoring (also linked in the navigation panel on the left).

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 Instructor will hold fixed weekly office hours. 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
    • Please post all course-related questions in the Ed Discussion forum so that the whole class may benefit from your conversation. Not all posts require a reply from the instructor/TA, and often it is better for students to hash out an answer to a question.
    • Office hours will be held online through Microsoft Teams. You can use an app (desktop/mobile), or click You do not need to do anything to join, you are automagically enrolled and can participate via app or browser.
      • If you wish to use the link on the left side, you may need to adjust your browser settings.  If the team does not appear after clicking that link, visit this link or use one of the apps (desktop/mobile) instead.
    • Please email your instructor only for matters of a personal or private (grading) nature. The instructor or a TA will reply to most course-related questions within 48 hours, though this may vary on weekends. (Please use email, not Canvas Messaging).
    • Any email sent to the instructor about this course must originate with an OSU supplied email account and contain the tag [CS261] at the beginning of the subject. Failure to comply with this will result in a delayed (or possibly nonexistent) response to your email.

ULA Contact and Office Hours Information

The ULAs will hold fixed weekly office hours . Office hours are held via the official MS Teams channel (Office Hours). The office hours of the ULAs are as follows:

Listing by Day (all times U.S. Pacific Time, UTC-08:00): 

Day Office Hour Time and Person
Monday 2:00 PM-4:00 PM Edward Lada
4:00 PM-6:00 PM Deirdre Lyons-Keefe
6:00 PM-8:00 PM Ally Foot
Tuesday 2:00 PM-4:00 PM Randy Scovil
4:00 PM-6:00 PM Deirdre Lyons-Keefe
6:00 PM-8:00 PM Hannah Boehm
Wednesday 2:00 PM-4:00 PM Randy Scovil
4:00 PM-6:00 PM Prasanna Thapa
6:00 PM-8:00 PM Ally Foot
Thursday 12:00 PM-2:00 PM Kayti Martens
2:00 PM-4:00 PM Alex Baker
Friday 2:00 PM-4:00 PM Ethan Blake
4:00 PM-6:00 PM Hannah Boehm
Saturday 11:00 AM-1:00 PM Elliott Larsen
1:00 PM-5:00 PM Prasanna Thapa
Sunday 4:00 PM-6:00 PM Charles Cal
6:00 PM-8:00 PM Bema Fisher

 *** NO OFFICE HOURS ON SCHOOL HOLIDAYS (including weekends where applicable) ***

This schedule may be adjusted during the term to adjust for demand, or lack thereof.

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. Add yourself to the CS 261 Students Map (Optional)
  4. If you are looking for a Python overview or refresher, take a look at the Python - Bonus Review Module - OPTIONAL
  5. Become familiar with the helpful information in the Coding Guides and Tips - Style and Debugging module
  6. Look over the Week 1 Learning Module
  7. Begin working on the tasks in the Week 1 Overview



Course Summary:

Date Details Due