Lehrinhalte
In this course, students will learn how to design and implement components of an information system. Students will learn theoretical and practical techniques that are essential in software development, but often missing in other courses and considered "missing lectures" by MIT. This includes collaboration in groups using version control systems (e.g., Git), debugging techniques that simplify the detection and elimination of software bugs, and various techniques for efficient programming on modern hardware. Furthermore, students will learn how to analyze the frequency and duration of function calls in programs to determine which parts of the program cost the most time. Java, Python, C/C++, relational and NoSQL database systems, and visualization software are commonly used.