COM 2113: Computer Organization and Assembly Language
The file is restricted.
Please click here to access if the item description shows YU only.
YU Faculty Directory
MetadataShow full item record
YC 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¶ Major Topics Covered in Course Introduction to the C programming language and Linux command line (first 2 weeks) Finite binary representations of integers and real numbers, both scalars and vectors. X86_64 assembly language In-memory layout of executing C and assembler programs. Memory hierarchies and the importance of temporal and spatial locality. Signaling asynchronous events; blocking and delaying signals Issues in implementing I/O correctly Principles of low-level code optimization Dynamic memory allocation schemes.
Wymore, B. (2022, Fall). COM 2113: Computer Organization and Assembly Language. Yeshiva College, Yeshiva University.
*This is constructed from limited available data and may be imprecise.
The file is restricted. Please click here to access if the item description shows YU only.
The following license files are associated with this item: