CS476/576: Programming Models for Emerging Platforms, Fall 2020




Essentials

  • Time: T Th 6-7:25PM
  • Classroom: online or LH 002
  • Professor: David Liu. Office hours: online 11:30-1:30 W
  • TAs: TBA
  • Zoom link: here
  • Mycourses System, where lecture slides and assignments are posted.

Topics

The landscape of computation platforms has changed dramatically in recent years. Multi-core CPUs are commonly deployed in computer systems. Computing devices such as Unmanned Aerial Vehicles (UAVs) are on the horizon. Big data processing becomes an indispensable part of numerous applications. Programming on these emerging platforms remains a challenging task. This course introduces a number of state-of-the-art programming models on these platforms, and further explores the frontier of next-generation programming language design that may potentially impact the future programming practice for emerging platforms. In particular, the course investigates multi-core programming, UAV programming, and Big Data programming, with additional presentations on other platforms on the rise. Applications of these programming models range from high-performance computing, cyber-physical systems, databases, to energy-conscious systems.

An adventurous, creative, and non-conformist student is expected to be happier than one only willing to learn today's standard practices verbatim. If you have asked yourself "what will the programming practices look like in ten years?" this course might help you form educated guesses by offering a forward-looking glimpse.

Recommended Textbooks

There are no required textbooks for the course. Some recommendations are listed below. (More will be added as the course progresses.)
  • Herlihy, Shavit, The Art of Multiprocessor Programming. Morgan Kaufmann. ISBN-13: 978-0123705914.
  • Baton, van Bruggen, Learning Neo4j 3.x - Second Edition: Effective data modeling, performance tuning and data visualization techniques in Neo4j. ISBN-13: 978-1786466143

Grading

  • Project, 35%
  • Assignments (2), 40%
  • Code Review Presentations (2), 25%

Useful Links

Academic Honesty