Key design principles and techniques of modern computer hardware, including instruction-level, data-level, and thread-level parallelism in CPU and GPU, cache and memory hierarchy, DRAM and non-volatile memory technologies and solid-state drive, and heterogeneous and disaggregated computing architecture. Advanced infrastructure software design techniques and algorithms, including indexing data structure, transaction, storage model, and consistency and consensus. Course projects to gain advanced programming skills and deepen the understanding of modern computer hardware and software.
Spring | Summer | Fall | ||
---|---|---|---|---|
(Session 1) | (Session 2) | |||
2025 | ||||
2024 | ||||
2023 | ||||
2022 | ||||
2021 | ||||
2020 | ||||
2019 | ||||
2018 | ||||
2017 | ||||
2016 | ||||
2015 | ||||
2014 | ||||
2013 | ||||
2012 | ||||
2011 | ||||
2010 | ||||
2009 | ||||
2008 | ||||
2007 | ||||
2006 | ||||
2005 | ||||
2004 | ||||
2003 | ||||
2002 | ||||
2001 | ||||
2000 | ||||
1999 | ||||
1998 |