Northeastern University – Silicon Valley

CS 5006 – Algorithms – Summer 2020

See https://northeastern.instructure.com/courses/10146 for course info.



CS 5007 – Systems – Summer 2020

TAs: @husky.neu.edu or @northeastern.edu
Abi Singh – singh.abi
Siyu Chen – chen.siyu2
Xin Wang – wang.xin9

Text book: “C Programming Language” Second Edition by Kernighan and Ritchie

Additional Reading: “THE DEVELOPMENT OF THE C PROGRAMMING LANGUAGE” by Dennis M. Ritchie

Text book: “Computer Systems: A Programmer’s Perspective” Third Edition, by Bryant and O’Hallaron

Additional Viewing: John Hennessy and David Patterson Turing Lecture (A New Golden Age for Computer Architecture): https://www.acm.org/hennessy-patterson-turing-lecture

Additional Viewing: Fran Allen Turing Lecture (Compiling for Performance: A Personal Tool)): https://amturing.acm.org/vp/allen_1012327.cfm

Additional Viewing: Leslie Lamport Turing Lecture (An Incomplete History of Concurrency): https://amturing.acm.org/vp/lamport_1205376.cfm

DATETOPICSLIDES
Tuesday, 5 May 2020Module 1 – Hello Worldslides
Tuesday, 12 May 2020Module 2 – Memoryslides
Tuesday, 19 May 2020Module 3 – Assembly Languageslides
Tuesday, 26 May 2020Module 4 – Compilersslides
Tuesday, 2 June 2020Module 5 – Memory Hierarchy and Processesslides
Tuesdfay, 9 June 2020Module 6 – Concurrency and Threadsslides
Tuesday, 16 June 2020Module 7 – Misc. Topicsslides
Tuesday, 23 June 2020Final Exam Due (no class)


CS 5007 – Systems – Spring 2020

Text book: “Computer Systems: A Programmer’s Perspective” Third Edition, by Bryant and O’Hallaron

Optional text book: “C Programming Language” Second Edition by Kernighan and Ritchie

Additional Reading: “THE DEVELOPMENT OF THE C PROGRAMMING LANGUAGE” by Dennis M. Ritchie

Additional Viewing: John Hennessy and David Patterson Turing Lecture: https://www.acm.org/hennessy-patterson-turing-lecture

See also Mike Shah’s lecture slides: http://www.mshah.io/comp/Summer19/5007/index.html

TAs: @husky.neu.edu or @northeastern.edu
Muhan Na – na.mu
Zach Rooney – rooney.z
Shreyas Shivshankar – shivashankar.s

DATETOPICSLIDES
Tuesday, 25 February 2020Module 1 – Introduction to C, Overview of SystemsModule 1
Tuesday, 10 March 2020Module 2 – More C and memoryModule 2
Tuesday, 17 March 2020Module 3 – Intel AssemblerModule 3
Tuesday, 24 March 2020Module 4 – More C and Compilers/LinkersModule 4
Tuesday, 31 March 2020Module 5 – More C and Memory HierarchyModule 5
Tuesdfay, 7 April 2020Module 6 – Concurrency (processes)Module 6
Tuesday, 14 April 2020Module 7 – Concurrency (threads)Module 7
Tuesday, 21 April 2020Final Exam

Command Shell for Module 2 homework: shell0.c

Command Shell for Module 3 homework: shell1.c

Command Shell for Module 4 homework: shell2.c

Command Shell for Module 5 homework: shell3.c

Command Shell for Module 6 homework: shell4.c

Command Shell result of Module 6 homework: shell5.c



CS 5006 – Algorithms – Spring 2020

Text book: “grokking algorithms” by Aditya Bhargava

See also Mike Shah’s lecture slides: http://www.mshah.io/comp/Summer19/5006/index.html

TAs:
Gui Lan – lan.g@husky.neu.edu
Muhan Na – na.mu@husky.neu.edu
Zach Rooney – rooney.z@husky.neu.edu

DateTopicSlides
Tuesday, 7 January 2020Module 1 – Introduction to Algorithms, Efficiency, Searching and SortingModule 1
Tuesday, 14 January 2020Module 2 – Recursion, Merge Sort, Linked Lists, TreesModule 2
Tuesday, 21 January 2020Module 3 – More Trees, GraphsModule 3
Tuesday, 28 January 2020Module 4 – Greedy Algorithms, Heaps, Randomized AlgorithmsModule 4
Tuesday, 4 February 2020Module 5 – Hashmaps, Dynamic ProgrammingModule 5
Tuesday, 11 February 2020Module 6 – Advanced TopicsModule 6
Tuesday, 18 February 2020Final Exam