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 and material and assess your learning in multiple ways, including the following:
- Weekly readings
- Video lectures
- Programming assignments (completed individually)
- Quizzes
Note: There will be no exams in this course that needs to be proctored.
Your Instructional Team:
Instructor:
Samina Ehsan (ehsans@oregonstate.edu)
Hello Everyone, My name is Samina Ehsan and I will be one of your instructors for CS-261- Data Structures. Right after completing my Ph.D. from Oregon State University, I joined OSU as an Instructor in the online CS program. For the past 7 years and a half, I have been teaching exclusively online courses. I believe that a strong understanding of data structures is very important to drastically improve one's ability to solve problems with powerful and efficient programs because it deals with data storage, manipulation, and retrieval when we write computer programs. And I hope this course will provide you a solid understanding of various data structures, abstract data types and their implementation in Python. I look forward to a great term with all of you!
Undergraduate Learning Assistants (ULAs):
- Justine Rivera riverjus@oregonstate.edu
- Martin A. Edmunds edmundsm@oregonstate.edu
- Sriram Narayanan naraysri@oregonstate.edu
- Grigori Barbachov barbachg@oregonstate.edu
- Sanchit Chopra chopras@oregonstate.edu
Note: Some links on this page may only be accessible to registered students.
Please read the course syllabus very carefully:
CS261_40X_Syllabus_Summer2020.pdf
You may also want to look over the course schedule or download it for your records:
CS-261_40X_Course_Schedule_Summer2020.pdf
Note: Some links on this page may only be accessible to registered students.
Piazza Discussion Board
Piazza is the best place to get help with course-related questions.
Slack Workspace
Slack is where to look for real-time help from peers and the instructional team.
- Slack workspace name: class-cs261-400/401-su20
- Login URL: https://oregonstate.enterprise.slack.com/
- About Slack @ OSU Engineering: https://it.engineering.oregonstate.edu/slack
Course Resources
There is no required textbook for this course. Reading and learning materials are provided via Canvas. However, you may wish to reference the optional online textbook listed below-
-
- “Open Data Structures” by Pat Morin https://opendatastructures.org/ods-python/
Instructor Contact Information
-
Office Hours Information
-
The Instructor will hold fixed weekly office hours starting from Week 1. Office hours are held via the official Slack channel (#office_hours). The contact and office hours information of the Instructor are provided as follows -
- Samina Ehsan (ehsans@oregonstate.edu) (Office Hours: Fridays 11:00 am - 1:00 pm PST)
-
The Instructor will hold fixed weekly office hours starting from Week 1. Office hours are held via the official Slack channel (#office_hours). The contact and office hours information of the Instructor are provided as follows -
-
Communication Policy
- Piazza 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 Slack 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_U20 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 Week 1. Office hours are held via the official Slack channel (#office_hours). The contact and office hours information of the ULAs are provided as follows:
- Justine Rivera riverjus@oregonstate.edu (Office Hours: Tuesdays 10:00 am - 12:00 pm PST)
- Martin A. Edmunds edmundsm@oregonstate.edu (Office Hours: Tuesdays 1:00 pm - 3:00 pm PST)
- Sriram Narayanan naraysri@oregonstate.edu (Office Hours: Mondays 5:30 pm - 6:30 pm, Wednesdays 5:30 pm - 6:30 pm PST)
- Grigori Barbachov barbachg@oregonstate.edu (Office Hours: Saturdays 9:00 am - 11:00 am PST)
- Sanchit Chopra chopras@oregonstate.edu (Office Hours: Mondays 11:00 am - 1:00 pm PST)
Tutoring
Please follow the tutoring information below if you need any course on-boarding support from the peer or Ecampus tutors:
1. CS peer tutoring: Tutoring_annoucement.pdf
2. Online tutoring: http://ecampus.oregonstate.edu/services/student-services/online-tutoring/
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:
- Take the Syllabus Quiz
- Introduce yourself on Piazza.
- Read over the important information in this module: Start Here
- Look over the Week 1 Learning Module and due dates
- Begin working on the tasks in the Week 1 Overview
Course Summary:
Date | Details | Due |
---|---|---|