The final course in this program will help prepare you for the unique aspects of a coding job interview, with approaches to problem-solving and computer science foundations needed to land the job. Ultimately you’ll gain strategic insights and tips for successful interviewing.
By the end of this course, you'll have knowledge of:
• Appropriate communication during a coding interview
•  Successful interviewing strategies
• Using pseudocode
•  The fundamentals of computer science
• The capabilities of data structures and how to implement them
• How to review data structures in the context of coding interviews
•  The concept of algorithms and common approaches to working with them
•  How to visualize an algorithm
• Combining new and previously learned coding patterns to solve problems
Ideally, you should have completed all the courses in this professional certificate.
Overview
Syllabus
- Introduction to the coding interview
- In this introductory module, you'll learn about a coding interview, what it could consist of, and the types of coding interviews you might encounter. You’ll learn about how to prepare for a coding interview, focusing on communication and working with pseudocode. You will also get an introduction to computer science, including the fundamental concepts of Binary, Big O notation, and time and space complexity.
- Introduction to Data Structures
- The second module of this course covers data structures. You'll learn about the implementation and capabilities of data structures between various programming languages and the similar patterns of the overarching architecture. You will learn about basic data structures, such as strings, integers, arrays and objects, before moving on to collection data structures, including lists, stacks and trees, and advanced data structures, such as hash tables, heaps and graphs.
- Introduction to Algorithms
- In this module, you'll learn about algorithms. You'll cover common approaches to sorting and searching with algorithms. You’ll also explore the time and space complexity aspects of both sorting and searching. You will then learn more about working with algorithms, demonstrating how to visualize and problem solve with algorithmic approaches, such as divide and conquer, greedy algorithms and dynamic programming.
- Final project
- In this module, you will be assessed on the key concepts and topics covered in the course.
Taught by
James