Course Information

18-847G: Special Topics in Computer Systems: Computing for Engineers




Computer systems accessible to students and engineers have become incredibly powerful. At the same time, engineering students utilize problem solving environments like Matlab or languages like Python in their research. This course covers how to scale research problems that are coded in such languages/environments from the initial concept stage usually executed on ones’ laptop computer to more powerful computing systems like high end servers, GPU accelerated systems, Condor high throughput clusters, cloud computing platforms, and supercomputers. The course presents the problem as engineering trade-off: what is the minimal human effort needed to solve the problem at the needed scale, leveraging all the resources student has available. This requires understanding of algorithms, parallel machines, parallelization strategies, and many other aspects. However, this course teaches how to avoid excessive and tedious parallel programming by leveraging systems and tools that are readily available. Students will use their own research problem as case study.

Prerequisites: 18-213 OR 15-213 OR 15-513 OR 18-600

Last Modified: 2017-08-23 12:07PM

Semesters offered:

  • Fall 2017