Data Structures & Algorithms I
ArrayLists, LinkedLists, Stacks and Queues
Data Structures and Algorithms,
The Data Structures & Algorithms course begins with a review of some important Java techniques and nuances in programming. The course requires some prior knowledge of Java and object-oriented programming, but not in data structures or algorithms. This course introduces you to time complexity, and threads this concept throughout all data structures and algorithms presented in the course. You will work with the principles of data storage in Arrays and LinkedList nodes. You will program the low-level data structures: Singly, Circular, and Doubly LinkedLists; and explore edge cases and efficiencies. LinkedLists and Arrays are used to implement Abstract Data Types, ADTs: Stacks, Queues and Deques. Harnessing the power of recursion to move through these data structures is necessary. As the size changes in your data structures, it becomes important to examine amortized analysis of the operations.
The course design has several components and built around modules. A module consists of a series of short (3-5 minute) instructional videos. In between the videos, there are textual frames with additional content information for clarification, as well as video errata dropdown boxes. All modules include an Exploratory Lab that incorporates a Visualization Tool specifically designed for this course. The lab includes discovery questions that lead you towards delving deeper into the efficiency of the data structures and examining the edge cases. This is followed by a set of comprehension questions on topics covered in the module, and count for 10% of your grade. The modules end with a Java coding assignment which are 60% of your grade. Lastly, you'll complete a course exam, which counts for the remaining 30% of your grade.
This is a great course that has been derived from the on-campus version of CS1332 at the Georgia Institute of Technology, and is backed with an impressive reputation.
What you'll learn
- Develop mature Java programming skills with the use of generics, references and interfaces
- Understand the principles of data storage in Node objects
- Program various low-level data structures like Singly, Doubly and Circular LinkedLists
- Design and implement ADTs like Lists (backed by Arrays), Stacks, and Queues
- Examine the edge cases that occur in these linear data structures
- Analyze the time complexity of linear data structures and their algorithms
- Compute amortized analysis for Arrays, ArrayLists, Stacks and Queues
- Implement recursive methods that operate on linear data structures
- Extend knowledge of these concepts to other structures like PriorityQueues and Deques
- Review of important Java principles involved in object-oriented design
- The Iterator & Iterable design patterns, and the Comparable & Comparator interfaces
- Basic “Big-Oh” notation and asymptotic analysis
- The array class, access vs. search of an array, static allocation and efficiency
- The List abstract data type (ADT) which is backed by an array and uses dynamic resizing and amortized analysis
- Recursive methods that are applied to the array and ArrayList data structures
- The Singly LinkedList data structure, its implementation, methods, and time complexity
- The use of the iterable interface and recursive methods in LinkedLists
- Creating variations of LinkedLists such as Doubly-Linked and Circularly-Linked
- The Stack ADT based on the last-in, first-out principle, and its implementations using Arrays and LinkedLists
- The Queue ADT based on the first-in, first-out principle, and its implementations using Arrays and LinkedLists
- Creating variations of Stacks and Queues such as Priority Queues and Deques
Get a Reminder
Rating | Not enough ratings |
---|---|
Length | 5 weeks |
Effort | 9 - 10 hours per week |
Starts | On Demand (Start anytime) |
Cost | $149 |
From | The Georgia Institute of Technology via edX |
Instructor | Mary Hudachek-Buswell |
Download Videos | On all desktop and mobile devices |
Language | English |
Subjects | Programming |
Tags | Computer Science |
Get a Reminder
Similar Courses
Careers
An overview of related careers and their average salaries in the US. Bars indicate income percentile.
Structures/Bridge $81k
Structures Technician 1 $81k
Associate Structures Engineering $83k
Structures Designer $85k
Structures CADD $91k
Structures Mech $94k
Aircraft Structures $96k
Structures Foreman $98k
Engineer of Structures $100k
Structures Engineer 1 2 $103k
Product Engineer - Structures $115k
Structures Estimator Manager $127k
Write a review
Your opinion matters. Tell us what you think.
Please login to leave a review
Rating | Not enough ratings |
---|---|
Length | 5 weeks |
Effort | 9 - 10 hours per week |
Starts | On Demand (Start anytime) |
Cost | $149 |
From | The Georgia Institute of Technology via edX |
Instructor | Mary Hudachek-Buswell |
Download Videos | On all desktop and mobile devices |
Language | English |
Subjects | Programming |
Tags | Computer Science |
Similar Courses
Sorted by relevance
Like this course?
Here's what to do next:
- Save this course for later
- Get more details from the course provider
- Enroll in this course