Course materials
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled…
Data Structures - Course Materials
The Data Structures course give you both theoretical and practical aspects of using various Abstract Data Types (ADTs). These ADTs include linked lists, stacks, queues, trees, hashing, searching and sorting algorithms. When it comes to algorithms you are always faced with challenge with respect to space and time complexities, which this course covers in depth. Based on the type and amount of data you are going to deal, you will be in a position to choose the correct algorithm and implement it using correct ADT. In short, you will see core computer science concepts coming into picture which plays an important role in defining resource optimized programs when it comes to Embedded Systems.
A firm understanding of data structures provides a basis for writing more efficient code. The four hallmarks of good programming are proper design, clear coding, good organization of data, and correct algorithm selection. This course is intended to provide an understanding of data specification and abstraction, how that leads to the specification of data structures, and how they are implemented based on the concept of late binding. From an implementation point of view you will be extending your C programming course learning and making a deep dive into self-referential structures, dynamic memory allocation and advanced pointer usage.
Course objectives
- Review methods for problem-solving and algorithm analysis
- Develop an understanding of Abstract Data Types (ADT) and their implementation
- Understand the importance of information hiding, data abstraction, and modular design
- Recognize programming needs - cost and benefits of each data structure
- Enable you to select the data structure for the given problem
Target Audience
- Entry level engineers who want to learn Data Structure programming
- Experienced professionals who want to switch into development career
Prerequisite
- Proficiency in C programming
- Good understanding of pointers in C
Platform
- OS – Linux (Ubuntu) / Windows / Mac
- Compiler – GCC (Preferred)
- Debugger – GDB (Preferred)
Reference materials:
- Advanced C - Emertxe Course booklet Download
- C String Library - A quick reference guide Download
- A tutorial on GNU Debugger (GDB) Download
- Traps and pitfalls in C - Whitepaper Download
- Essentials of C - A detailed guide Download
- Secrets of printf in C - Whitepaper Download
- The C Library – Reference Guide Download
Reference books:
- C in Depth Purchase
- Data Structures Through C in Depth Purchase
- The C Programming Language Purchase
- The C Answer Book: Solutions to the Exercises in ‘The C Programming Language’ Purchase
- Expert C Programming: Deep C Secrets Purchase
- Understanding and Using C Pointers: Core Techniques for Memory Management Purchase
- C Programming: A Modern Approach Purchase
- A Reference Manual Purchase
Share this material with your friend:
COMPLEXITY | MEDIUM |
Assignments | |
Projects | 3 |
Sample programs | |
Interview prep | |
Videos |
Associated Courses
C Programming | Deep dive into Advanced C programming for Embedded Systems |
C++ Programming | Learn OOPS with C++ for data abstraction |
Python Programming | Build an IoT gateway with versatile Python |
Associated programs
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.