Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.12202/8190
Title: COM 2113: Computer Organization and Assembly Language
Authors: Wymore, Ben
Keywords: computer programming
computer science
Issue Date: Aug-2022
Publisher: Yeshiva College, Yeshiva University
Citation: Wymore, B. (2022, Fall). COM 2113: Computer Organization and Assembly Language. Yeshiva College, Yeshiva University.
Series/Report no.: Yeshiva College Course Syllabi Fall 2022;COM2113
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¶ 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.
Description: YC course syllabus / YU only
URI: https://hdl.handle.net/20.500.12202/8190
Appears in Collections:Yeshiva College Syllabi -- 2021 - 2022 courses (past versions for reference ONLY) -- COMP SCI (Computer Science)

Files in This Item:
File Description SizeFormat 
COM2113 Introduction to Computer Science WYMORE Fall 2022R.pdf
  Restricted Access
1.12 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons