COM 2113: Computer Organization and Assembly Language
View/ Open
The file is restricted.
Please click here to access if the item description shows YU only.
Date
2020-09Author
Metadata
Show full item recordShare
Description
Course syllabus / YU only
Abstract
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
Permanent Link(s)
https://hdl.handle.net/20.500.12202/6999Citation
Wymore, Benjamin. (2020, Fall). COM 2113: Computer Organization and Assembly Language, Yeshiva College.