COM 2113: Computer Organization and Assembly Language
The file is restricted.
Please click here to access if the item description shows YU only.
MetadataShow full item record
Course syllabus / YU only
Description COM2113 helps you become a better programmer through understanding the basic concepts underlying all computer hardware systems. You need to know what really happens when your programs run, so that when things go wrong (as they always do) you have the intellectual tools to solve the problem. Higher-level programming languages are based on convenient abstractions that can break down when executed on actual computer hardware. These breakdowns include: finite arithmetic, memory access violations, asynchronous signals, and mismatches between data structures and the physical memory hierarchy. By the end of the course, students will understand these realities in considerable detail and be able to apply them to improving the code they write. Course Outcomes Students will write low-level programs to manipulate the representations of integers and floatingpoint numbers in the C language. Students understand and debug (unoptimized) assembly language code produced by current C compilers Students will be able to predict and simulate the effects of cache memories on running programs for both hypothetical and actual computer hardware Students will understand how Linux programs process asynchronous signals, and how to write signalsafe code. Students will understand how virtual memory affects program performance on X86_64 processors Students will analyze the efficiency of various dynamic memory allocation schemes. Students will be able to apply advanced code optimizations to matrix algorithms. Students will understand how computer architecture gives rise to security flaws
Wymore, Benjamin. (2020, Fall). COM 2113: Computer Organization and Assembly Language, Yeshiva College.