Skip to content

Self-Paced/Observer coursework from Codepath's Advanced Software Engineering Summer Session (Data Structures & Algorithms / Technical Interviews / Leetcode)

Notifications You must be signed in to change notification settings

aucoeur/codepath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

03bd244 · Aug 27, 2021

History

20 Commits
Jun 19, 2021
Aug 12, 2021
Aug 27, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021
Jun 11, 2021
Jun 1, 2021
Jun 1, 2021
Jun 1, 2021

Repository files navigation

Codepath - Advanced Software Engineering (SE103)

Self-Paced/Observer Coursework from Codepath's Technical Interviewing Course

Current Progress

Unit Topics
1 Linked Lists
2 Hash tables / stacks & queues
3 Big O Notation + Review
4 Binary Trees
5 Graphs
6 Strings / Arrays
7 Review and Project Week
8 Greedy Algorithms
9 Dynamic Programming
10 Dynamic Programming: Backtracking
11 Review and Project Week
12 System Design

Note on Importing Utilities

  • create/activate virtual env:
    $ python3 -m venv env
    $ source env/bin/activate

  • install local package:
    $ python -m pip install -e .

  • import:

    from utilities import ListNode

Summer Technical Interview Prep Course Overview (Advanced)

Purpose

This 12-week virtual course will help you ace technical interviews preparing you to solve challenging algorithm problems in real whiteboard interviews at top companies.

  • Lectures and algorithm labs
  • Interview practice
  • Tools and techniques for problem solving
  • Mentorship from industry professionals
  • Info sessions from experienced engineers
  • Resume feedback & internship search support

Prerequisites

  • Must have taken at least one basic programming course and an algorithms and data structures course.
  • Mandatory attendance for the weekly virtual sessions with 3 excused absences.
  • Can dedicate 10+ hours a week to the course and assignment work for 12 weeks

Program Structure

  • Meets twice a week for 2 hour sessions in virtual classroom
  • Weekly exercises to complete before and after the sessions
  • Sessions begin in June and end in August

Topics covered

Topics introduced are focused on technical interviewing and practical fundamentals of software development including:

  • Behavioral and general interviewing tips
  • Practical data structures
  • Implementing efficient algorithms

Over the 12-weeks, the following topics will be highlighted:

  • Core data structures: Hash Tables, Arrays, Linked Lists
  • Complex data structures: Binary Trees, Heaps
  • Object Oriented Design/Systems Design
  • Searches: Binary Search, Breadth First Search/Depth First Search
  • Sorting: Merge Sort and Quick Sort
  • Recursion and Combinations
  • Dynamic Programming
  • Greedy Algorithms

The course will also include a preview of real-world software engineering roles and challenges including:

  • Fireside Q&A chats and info sessions with professional engineers
  • Industry mentors helping with mock interviews
  • Learn what it's like in the day-to-day of different software engineering roles
  • What are the common challenges faced in your first full-time software role

Week by Week Unit Plan

Week Topics Also Featured
1 Linked Lists Importance of mastering algorithm interviews
2 Hash tables / stacks + queues Edge cases
3 Big O Notation + Review Problem identification
4 Binary Trees Pseudocode
5 Graphs Complexity analysis
6 Strings / Arrays Verification
7 Review and Project Week Salary Negotiation
8 Greedy Algorithms Coming up with Test cases
9 Dynamic Programming Induction
10 Dynamic Programming w/ Backtracking
11 Review and Project Week Matching the problems
12 System Design Industry landscape

About

Self-Paced/Observer coursework from Codepath's Advanced Software Engineering Summer Session (Data Structures & Algorithms / Technical Interviews / Leetcode)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages