Course Syllabus

Welcome to CS201: Elementary Data Structures. General information about this course and its requirements can be found below.

Course Designers: Bhanu Kapoor and Peter Raeth

Getting Started

After familiarizing yourself with the following course syllabus, log in or sign up and click the “Enroll me in this course” button near the top of the page. Once enrolled, navigate to Unit 1 of the course to read the Unit Introduction and Unit 1 Learning Outcomes. Links and instructions for all unit specific course resources will follow the introductory materials.

Earning College Credit

This course provides students the opportunity to earn actual college credit. It has been reviewed by Brandman University and can applied as credit towards a degree by students who are currently enrolled or plan to enroll at Brandman. You can read more about this special program here.

Brandman University Logo

Evaluation and Minimum Passing Scores

In order to pass this course, you will need to earn a70% or higher on the final exam. Your score on the exam will be tabulated as soon as you complete it. If you do not pass the exam on your first attempt, you may take it again as many times as needed, following a 7-day waiting period between each attempt. 

You will only receive an official grade on your final exam. However, in order to adequately prepare for this exam, we recommend that you work through the materials in each unit. Throughout the course you may find practice quizzes or other assignments that will help you master material and gauge your learning. Scores on these assignments are informational only and do not contribute to your overall course grade. 

If you are seeking to earn college credit at Brandman, you must take and pass the version of the exam titled "Proctored Final Exam." That exam will be password protected.

Technical Requirements

This course is delivered fully online. You will be required to have access to a computer or web-capable mobile device and have consistent access to the internet to either view or download the necessary course resources and to attempt any auto-graded course assessments and the final exam.

To access the full course including assessments and the final exam, you will need to be logged into your Saylor Academy account and enrolled in the course. If you do not already have an account, you may create one, free of charge, here. Although you can access some course resources without being logged into your account, it’s advised that you log in to maximize your course experience. For example, some of the accessibility and progress tracking features are only available when you are logged in.

For additional technical guidance check out Saylor’s tech-FAQ and the Moodle LMS tutorial.

Fees

There is no cost to access and enroll in this course. All required course resources linked throughout the course, including textbooks, videos, webpages, activities, etc are accessible for no charge. This course also contains a free final exam and course completion certificate.

This courses does contain an optional final exam that will provide students an opportunity to earn college credit. Access to the exam itself is free, though it does require the use of a proctoring service for identity verification purposes. The cost for proctoring is $25 per session.

Time Commitment

While learning styles can vary considerably and any particular student will take more or less time to learn or read, we estimate that the "average" student will take 19 hours to complete this course. Each resource and activity within the course is similarly tagged with an estimated time advisory. We recommend that you work through the course at a pace that is comfortable for you and allows you to make regular (daily, or at least weekly) progress. It's a good idea to also schedule your study time in advance and try as best as you can to stick to that schedule.

It may be useful to take a look at these time advisories, to determine how much time you have over the next few weeks to complete each unit, and then to set goals for yourself. Perhaps you can sit down with your calendar and decide to complete subunits 1.1 and 1.2 (a total of 8 hours) on Monday and Tuesday; subunits 1.3 (a total of 5 hours) on Wednesday; etc.

Tips/Suggestions

Learning new material can be challenging, so below we've compiled a few suggested study strategies to help you succeed.

Take notes on the various terms, practices, and theories as you read. This can help you differentiate and contextualize concepts and later provide you with a refresher as you study.

As you progress through the materials, take time to test yourself on what you have retained and how well you understand the concepts. The process of reflection is important for creating a memory of the materials you learn; it will increase the probability that you ultimately retain the information.

Learning Outcomes

Upon successful completion of this course, you will be able to:

  • Discuss the general-purpose nature of Abstract Data Types (ADTs).
    • Describe ADTs
    • Summarize specific data types (SDTs) within the context of ADTs
  • Explain elementary data types within the wider context of ADTs.
    • Interpret the three elementary data types that are native to C/C++ (scalars, vectors, multi-dimensional arrays) within the context of ADTs.
    • Demonstrate the use of scalars, vectors, and multi-dimensional arrays.
    • Show how scalars are used to build vectors.
    • Show how vectors can be used to build multi-dimensional arrays.
  • Identify the five basic Composite Data Types (CDTs).
    • Define the five basic CDTs (lists, stacks, queues, trees, graphs, hash tables)
    • Relate an application's requirements to an appropriate CDT
    • Implement solutions to applications requiring one or more of the five basic CDTs
  • Examine algorithms to determine their computer-resource utilization.
    • Define Big-O analysis
    • Explain why Big-O analysis is important to algorithm design and selection
      Distinguish between Big-O analysis, counting program steps, and counting lines of executable code
    • Organize search and sort algorithms according to their Big-O resource utilization growth curve
  • Contrast sequential and binary search techniques.
    • Define sequential search and name its primary attributes.
    • Define binary search and name its primary attributes.
    • Compare the resource utilization curves of sequential and binary search as data-size increases

Throughout this course, you'll also see related learning outcomes identified in each unit. You can use the learning outcomes to help organize your learning and gauge your progress.

Suggested Prerequisites

In order to take this course you should:

Last modified: Wednesday, September 20, 2017, 7:45 PM