Applications for this class are not open yet, but will open by December 12th.
This class will be live online (i.e. synchronous).
This course is a part of ProTech. Please review eligibility requirements below before applying.
Learn the fundamentals of data structures, patterns for working with them, and optimization techniques
As software applications handle more and more data, having code that can take on the extra work without slowing down is key. Choosing suitable data structures and algorithms to keep your code efficient as data volume grows is an essential skill for both large enterprises and fast-growing startups. This continuing education course is designed to introduce the essentials of working with data structures: mathematical concepts, different types of collections and their respective benefits, algorithms to work with that data, and principles to improve performance. Students will work independently through the curriculum, complete practical assignments, and prepare for multiple mock technical interviews to assess their understanding and get comfortable with that part of the hiring process.
Is this course for you?
- Are you a software developer looking to deepen your understanding of computer science principles? This course is designed for junior developers with coding experience who want to learn how to choose efficient data structures and algorithms, while improving problem-solving skills applicable across technologies, domains, and companies.
- Are you looking to get better at live coding interviews where you’re asked to tackle a new problem with code and explain your thinking as you go along? This course provides a practical problem-solving framework and reinforces its application through weekly practice, giving you a clear guide, sharpening your reasoning, and boosting your confidence.
Who is this course not designed for?
- Engineers with a background in computer science, unless you’re looking for a refresher. This course covers the fundamentals, and will likely cover familiar material.
- Beginner programmers that have not learned a programming language and developed simple working applications. This course expects students to have a solid grasp of computer programming basics.
What will the course cover?
-
Math Concepts and Vocabulary for Performance Optimization
Understand exponents, logarithms, combinatorics. Analyze performance and communicate efficiency with Big O notation. Learn systemic thinking and problem solving techniques. -
Different Types of Data Structures
Learn about multidimensional arrays, linked lists, stacks, queues, maps and sets. Understand the relative benefits of each, their efficiency with different operations and when to use them. Implement them in practical JavaScript use cases. -
Algorithms and Patterns
Learn common data management techniques, including binary search, sorting methods, and traversal methods like two-pointers, sliding window and grid navigation. Understand the benefits and performance and storage implications of these techniques. -
Collaborative, Live-Coding Interview Skills
Practice tackling unfamiliar problems with peers using JavaScript. Use a repeatable framework to break down problems, identify blind spots, design solutions, explore alternatives, and explain your thinking. Develop habits for clear communication, logical reasoning, and incremental problem solving. Build confidence through structured repetition and realistic interview simulations.
How will you learn the material?
-
Schedule
Mondays and Wednesdays 2PM - 4PM CT -
Location
This class is live online (i.e. synchronous).
-
Dates
January 26 - April 1, 2026
-
Tuition
FREEThis course is a part of ProTech. Please review eligibility requirements below before applying.
What is required?
- Personal Computer
- Must be 18+ years old
- Must understand the basic syntax of JavaScript
ProTech Eligibility
- Must reside in Middle Tennessee
- Graduate of NSS, another coding bootcamp, or college/university with tech-related degree AND searching for your first job in tech.
- Tech professional who is unemployed after being laid off from a tech job
Attendance Information
Our policy regarding absences is based on making sure you get the most out of your professional development. Attendance is tracked for this course. Excused absences should be arranged with your instructor before they occur. Due to the short duration of this course we recommend that you not miss multiple days of this course. Absence due to emergencies are always excused as long as the instructor is notified as soon as possible.