This course explores how computer systems execute programs, handle data storage, and facilitate communication from a programmer’s perspective. It enhances students’ ability to write efficient, portable, and reliable code while also serving as a foundation for advanced topics like compilers, networks, operating systems, security, and computer architecture. Key areas of focus include data representation, computer arithmetic, machine-level code generation, performance analysis and optimization, memory management, concurrent processing, and networking protocols.
Languages
: C, Assembly, Python
Operation System
: GNU Linux, Ubuntu Linux