Fall 2020

CS 4801/8801 Programming Interview Preparation

Instructor: Sehoon Ha

Course Topics

This course aims to develop problem-solving skills that are required for programming interviews at most of major IT companies. The course is for discussing the fundamental algorithms and communication skills, rather than focusing on specific companies or job positions. Course topics include the overview of programming interviews, complexity analysis, data structures, algorithms, which are followed by 1-3 example problems week.

Class Sessions

1 Credit Hour

Hybrid-mode (subject to change after Phase 2)

Full support on remote learning

11:00 am - 11:50 am Friday (Location TBD)

Textbook

The textbook is optional, but the lecture will loosely follow the materials of the following book:

Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition

by Gayle Laakmann McDowell

Grading

Homework: 50%

Mock interview: 40%

Class participation: 10%

Homework

Each student will complete 1 to 3 interview questions every week. The students can submit the report in high-level pseudocode, not full scripts that are copy-and-pasted. The students can freely choose any programming language (e.g., Pencil-and-paper, C/C++, Python, Ruby, Java, Go...). Each report will be evaluated based on in-depth thinking on the problem, not based on the optimality of the solution. The students are not recommended to discuss the problem with other students, which will not be beneficial at real programming interviews.

Mock Interviews

Around the mid-term and final exam periods, the class will hold mock interview sessions between students. Each student will participate in two mock interviews: one session as an interviewer and another session as an interviewee. Each session will be evaluated based on the shared solution document and self-evaluations.

Instructor

Sehoon Ha (sehoonha@gatech.edu)

Office: TSRB 230A

Website: https://www.cc.gatech.edu/~sha9