Skip to main content

Update on Remote Instruction Effective March 15, 2023: Changes to vaccination policy. Learn more.

Close
The following fields are required:
Error has occurred. Please reload this page and try the operation again.
  • Agents
  • Student Login
  • Instructor Login
Extension
      • Areas of Study
        • Art and Design
        • Behavioral Health Sciences
        • Business
          • Accounting
          • Business Administration
          • Economics
          • Finance
          • Leadership and Management
          • Marketing
          • Mathematics and Statistics
          • Project Management
          • See the full list
        • Construction and Sustainability
        • Education
        • Humanities and Languages
        • Sciences, Mathematics
          and Biotechnology
          • Biology
          • Chemistry and Physics
          • Clinical Laboratory Science
          • Health Advising
          • Life Science Business and Biotechnology
          • Mathematics and Statistics
          • Online Sciences Courses
          • See the full list
        • Technology and
          Information Management
        • Writing, Editing and
          Technical Communication
      • Transfer Credit
        • Transfer Credit Courses
      • Online Learning
        • Online Courses and Certificates
      • Events
        • Information Sessions
      • Career Services
        • Career-Development Courses
        • Professional Internship Program
      • Custom Programs
        • For Universities and Organizations
      • Academic Services
        • Enrollment
        • Transcripts
        • General Information
        • Community Guidelines
        • Locations
      • Course and Program Information
        • Latest COVID-19 Information
        • Online Course Policies
        • Certificates, Programs and CEUs
        • Concurrent Enrollment
        • International Student Services
      • Student Aid
        • Disability Support Services
        • Financial Assistance
      • Voices
        • Voices Home
        • Educator Insights
        • Student Stories
        • Professional Pathways
        • Industry Trends
      • Events
        • Information Sessions
        • Free and Low Cost Events

  • Berkeley Global

Data Structures and Algorithms

COMPSCI X404.1

31082496
Delivery Options Online

This course gives students an overview and hands-on experience with some of the more popular data structures and algorithms used in the industry today. We will focus on arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, and their associated algorithms (e.g., searching, sorting, traversal, shortest path, compression, etc.).  We will also cover measuring complexity, recursion, dynamic programming, and data representation. We will examine these concepts in the context of various real-world situations. This course is offered in Java, Python, or C++. Prior knowledge or experience in some programming language is required.

Learner Outcomes

  • Analyze the complexity of algorithms using Big O notation.
  • Implement basic data structures such as arrays and linked lists to build more complex data structures.
  • Work with queues and stacks, which are used in computer architecture, web servers, printers, music playlists and more.
  • Understand the difference between recursion and iteration to solve problems.
  • Distinguish the strengths and weaknesses of popular sorting algorithms.
  • Use hash tables, which are used in relations databases, to perform optimized lookup.
  • Work with the tree data structure, which is the foundation of hierarchical data storage, such as file systems, organizational structures, and Internet data.
  • Implement an autocomplete using the tries data structure.
  • Understand how graphs and Djikstra's algorithm can be used for finding the shortest path as in a navigation system.
  • Optimize existing programs with dynamic programming and memoization techniques.
  • Implement Huffman compression for efficient data storage and transmission.
Loading...

Sections

Section 013

Jun 13 to Aug 22

Type: Live Online

Instructor:

  • Carl Limsico

Cost: $995.00

See section 013 Details

Type Live Online

Days

T

Time

6:00PM to 9:00PM Pacific Time

Dates

Jun 13, 2023 to Aug 22, 2023

Location

Live Online

Schedule and Location

View Details

Instructional Hours

30.00

Location

Live Online

Delivery Options

Online

Available for Credit

2 semester units

Section Notes

No class meeting on July 4, 2023.
Students will receive access to the course in Canvas on the course start date.
Zoom meeting information will be emailed to enrolled students before the first class meeting and posted to the announcements page in Canvas.

Section Materials

  • (Mandatory)

    A Common-Sense Guide to Data Structures and Algorithms by Jay Wengrow

    Pragmatic Bookshelf 2nd edition ISBN 978-1680507225
  • (Optional)

    Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People by Aditya Bhargava

    Manning 1st edition ISBN 978-1617292231

Summer enrollment opens on March 20!

This course applies to the following programs:

Advanced Program in Software Development

Expand or collapse section

Programming Courses

  • Java: Discovering Its Power
  • Mastering Python
  • C++ Programming
  • Data Structures and Algorithms
  • Software Design Patterns

Data and Databases Courses

  • Machine Learning and Deep Learning With Spark
  • Practical Machine Learning (With R)
  • Introduction to R: Data Exploration and Visualization
  • Python for Data Analysis and Scientific Computing

Current Topics Category

  • Blockchain Fundamentals
  • Introduction to Quantum Computing With Applications

Elective Courses

  • Introduction to C Language Programming

Learn More About this Program

Notes

This course is targeted at IT systems professionals and computer science graduates. IT professionals should have previous or current employment experience in one or more IT domains, including programming, design, testing, Q/A, systems administration and integration, DevOps, and/or database/network/systems management; know how to use basic tools for your area (such as IDE's, compilers, network trace, performance measurement and/or project management tools); and be active trying to keep abreast of current technologies and trends.

Instructional Types

Live Online
Live Online courses provide an interactive learning experience with scheduled synchronous online sessions held via Zoom video conferencing (Pacific Time). Learn more about the Live Online format.
Online, Start Anytime
Continuous enrollment course begins when you enroll. You have a minimum of 90 days and a maximum of 180 days to complete the course.
Online, Fixed Date
Enroll in this course by its start date and complete it by its specified end date. There are no live sessions, but plenty of opportunities to collaborate with your classmates and instructor.
Classroom
Take classes in-person at one of our buildings or partner locations.

English Language Proficiency Requirements

All of our courses are taught in English. If English is not your first language, please use the following test scores as guides in order to be successful:

  • TOEFL: 90
  • IELTS Academic Format: 7
  • DAAD: C1
  • TEM-4 or TEM-8: Level 70
  • Duolingo: 115

Note: You do not need to submit test scores.

Extension

1995 University Ave., Suite 130

Berkeley, CA 94704-7000

extension@berkeley.edu

Facebook Facebook Icon Twitter Twitter Icon LinkedIn LinkedIn Icon YouTube YouTube Icon Instagram Instagram Icon Medium Small Icon for Medium
WeChat QR code

Locations

  • Berkeley
  • San Francisco
  • Online
  • Other

Resources

  • About Us
  • Career Services
  • Administration
  • Accessibility
  • Nondiscrimination
  • Privacy
  • Transcripts
  • Gifts
  • Jobs
  • Contact Us
Western Association of Schools and Colleges

The University of California, Berkeley, is accredited by the Western Association of Schools and Colleges (WASC). UC Berkeley Extension—like all other UC Berkeley schools, colleges and departments—is accredited by WASC through the University.

Copyright © UC Regents

Powered by Destiny One

Cookie Policy

By clicking “Accept All Cookies,” I agree to permit this website to share my information, including a device identifier and my browsing history on this site, with selected partners, including Google, Meta/Facebook and others, to enhance my browsing experience and to ensure that marketing communications are targeted to my needs in accordance with our Cookie Policy and our Privacy Policy.

Session Time-Out

For security reasons and the protection of your personal information, your session will time out due to a period of inactivity in minute(s) and second(s). Click Extend My Session to continue. For security reasons and the protection of your personal information, your session timed out after a period of inactivity. You will be redirected to the home page.

Confirm

Alert

Course Fee

Carl Limsico

Carl Limsico, B.A., Certified Java Programmer, Extension Honored Instructor, is an independent web architecture consultant. He teaches Java, Python and Perl programming online. Limsico has more than 15 years of software development experience, ranging from mobile applications to enterprise-level systems.

COMPSCI X404.1 - 013 - Data Structures and Algorithms

Processing...

Online

Processing...

Privacy Policy

Cookie Policy

This statement explains how we use cookies on our website. For information about what types of personal information will be gathered when you visit the website, and how this information will be used, please see our Privacy Policy.

How we use cookies

All of our web pages use "cookies". A cookie is a small file of letters and numbers that we place on your computer or mobile device if you agree. These cookies allow us to distinguish you from other users of our website, which helps us to provide you with a good experience when you browse our website and enables us to improve our website.

We use cookies and other technologies to optimize your website experience and to deliver communications and marketing activities that are targeted to your specific needs. Some information we collect may be shared with selected partners such as Google, Meta/Facebook or others. By browsing this site you are agreeing to our Privacy Policy. You can revoke your voluntary consent to participate in monitored browsing and targeted marketing by selecting “Disable All Cookies” below.

Types of cookies we use

We use the following types of cookies:

  • Strictly necessary cookies- these are essential in to enable you to move around the websites and use their features. Without these cookies the services you have asked for, such as signing in to your account, cannot be provided.
  • Performance cookies- these cookies collect information about how visitors use a website, for instance which pages visitors go to most often. We use this information to improve our websites and to aid us in investigating problems raised by visitors. These cookies do not collect information that identifies a visitor.
  • Functionality cookies- these cookies allow the website to remember choices you make and provide more personal features. For instance, a functional cookie can be used to remember the items that you have placed in your shopping cart. The information these cookies collect may be anonymized and they cannot track your browsing activity on other websites.

Most web browsers allow some control of most cookies through the browser settings. To find out more about cookies, including how to see what cookies have been set and how to manage and delete them please visit https://www.allaboutcookies.org/.

Specific cookies we use

The list below identify the cookies we use and explain the purposes for which they are used. We may update the information contained in this section from time to time.

  • JSESSIONID: This cookie is used by the application server to identify a unique user's session.
  • registrarToken: This cookie is used to remember items that you have added to your shopping cart
  • locale: This cookie is used to remember your locale and language settings.
  • cookieconsent_status: This cookie is used to remember if you've already dismissed the cookie consent notice.
  • _ga_UA-########: These cookies are used to collect information about how visitors use our site. We use the information to compile reports and to help us improve the website. The cookies collect information in an anonymous form, including the number of visitors to the website, where visitors have come to the site from and the pages they visited. This anonymized visitor and browsing information is stored in Google Analytics.

Changes to our Cookie Statement

Any changes we may make to our Cookie Policy in the future will be posted on this page.