Schedule

The schedule below shows the tentative dates for all class topics, readings, and assignments. You should complete all assigned reading before class on the day it is listed. The schedule is likely to change a bit, although the due date of major assignments will not change. Please check back for additional readings.

If you view this page with JavaScript enabled you can jump to the current week on the schedule, and you should see the next day of class highlighted in the schedule below.

Week 0
Week 1
Tu
Aug 29
class 1

Getting started

We consider the form and purpose of the course. We consider the skills that technical interviews test.

Topics: Visitor: Anthony D. Mays. About the course. About technical interviews.

Reading
  • TBD
Week 2
Tu
Sep 5
class 2

Clarifying the problem

We consider an important first step in technical interviews: Making sure that you understand the underlying problem (and, perhaps, its subtleties).

Topics: Visitor: Yash Gupta. Listening to problems. Parsing examples. Asking questions.

Reading
  • TBD
Week 3
Tu
Sep 12
class 3

No Class (Sam at Tapia)

We take a week off while Sam attends the CMD-IT/ACM Richard Tapia Celebration of Diversity in Computing Conference.

Reading
  • TBD
Week 4
Tu
Sep 19
class 4

Thinking aloud

We consider a central skill in technical interviews: How you “think aloud” to share your ideas with your interviewer.

Topics: Visitor: Jonathan Wellons. Communication. Practice.

Reading
  • TBD
Week 5
Tu
Sep 26
class 5

Writing tests and getting unstuck

We consider the role of tests in technical interviews and practice considering edge cases.

Topics: Visitor: Halle Remash. Ways to test. Considering edge cases.

Reading
  • TBD
Week 6
Tu
Oct 3
class 6

Debugging

We consider what to do when your code doesn’t work.

Topics: Visitor: TBD. The role(s) of decomposition. The role(s) of testing. Hand running code. Debugging by printing. Debugging tools.

Reading
  • TBD
Week 7
Tu
Oct 10
class 7

Brainstorming approaches

To create an algorithm, you will often need to “brainstorm” the various ways you might approach the design of algorithms.

Topics: Visitor: TBD. How do you solve problems.

Reading
  • TBD
Fall Break
Week 8
Tu
Oct 24
class 8

From algorithm to code

We consider the steps you might take as you move from your initial algorithm to an implementation of it in a programming language.

Topics: Visitor: TBD. Choosing a language. Language features you should know cold.

Reading
  • TBD
Week 9
Tu
Oct 31
class 9

Language features and other reasons to ask questions

We revisit how much you need to know a programming language in the context of another important non-technical skill: asking questions.

Topics: Visitor: TBD. Looking up language features. Asking questions about language features. Asking questions about design and approach. Other kinds of questions.

Reading
  • TBD
Week 10
Tu
Nov 7
class 10

Asymptotic analysis

We consider strategies for analyzing the asymptotic running time of algorithms.

Topics: Visitor: TBD. Common running times. Issues to remember.

Reading
  • TBD
Week 11
Tu
Nov 14
class 11

Getting unstuck

We consider what to do when you’re “stuck” in designing an algorithm, translating the algorithm, finding errors, and such.

Topics: Visitor: TBD. Tips and techniques. Staying calm.

Reading
  • TBD
Week 12
Tu
Nov 21
class 12

Practicing with HackerRank and other systems

We consider the value of using systems like HackerRank to build our skill in software development and technical interviews

Topics: Visitor: Lea Marolt Sonnenschein. HackerRank and similar systems. Preparing reusable libraries and templates.

Reading
  • TBD
Thanksgiving Break
Week 13
Tu
Nov 28
class 13

System design interviews

We start to conclude the course by considering a different kind of technical interview, one that considers higher-level system design issues.

Topics: Visitor: TBD. About system design interviews.

Reading
  • TBD
Week 14
Tu
Dec 5
class 14

Wrapup, evaluate, and debrief

We conclude the course.

Topics: Visitor: TBD. Review of.

Reading
  • TBD
Finals Week
Winter Break