-
-
- 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
- Online Learning
- Events
- Career Services
- Custom Programs
- Sciences, Mathematics
-
-
-
- Academic Services
- Course and Program Information
- Student Aid
-
-
-
Berkeley Global
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.
Course Outline
Expand or collapse section
- 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
Fall enrollment opens on June 20!