Teaching objectives:

  • Functional understanding of major data structures (stack, queue, list, map, tree)
  • Can write node-based and array-based implementations
  • basic text-based computing (shell commands, text editors, vcs)
  • Project management individually and in groups with version control
  • Competition ready and experienced

Course goals:

  • Challenging and rigorous – a step up to advanced
  • Connected to real-world problems and commonly used solutions
  • Clearly assessed

Schedule:

9/9

:boom:

9/10

9/11

rohash

9/15

linux assignment given

9/16

9/17

9/18

9/21

linux hunt due

9/22

recursion intro

yokip

9/24

9/25

9/28

9/29

9/30

10/1

10/2

recursion due

10/5

algorithmic complexity intro

10/6

10/7

10/8

10/9

algorithmic complexity due

columbus day

pro dev

10/14

collections intro

10/15

10/16

10/19

collections due

10/20

linked structures intro

10/21

10/22

report writing

10/26

linked structures due

10/27

trees intro

10/28

10/29

10/30

11/2

trees due

11/3

hash intro

11/4

11/5

11/6

11/9

hash due

11/10

maps intro

11/12

11/13

report day

11/16

maps due

11/17

graphs intro

11/18

11/19

11/20

11/23

11/24

graphs due

thanksgiving

other important stuff

todo
  • make a github account (give it to josh)
  • get your linux password (from josh)