Computer Architecture and Organization ITCS2875

This course provides a study of the principles of Von Neumann computer architecture, data representation, and memory addressing as well as processor organization and its impact on system and application software. It also includes discussion and utilization of assembly language and computer processor simulators.

Correlated Learning Outcomes

  • AL-15 Write a regular expression to match a pattern. [Applying]
  • AR-01 Diagram the digital components of computing architecture. [Applying]
  • AR-02 Analyze alternative formats to represent numerical data. [Analyzing]
  • AR-03 Illustrate how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Applying]
  • AR-04 Examine the internal representation of non-numeric data. [Analyzing]
  • AR-05 Compare different methods for converting numerical data from one format to another. [Analyzing]
  • AR-06 Decompose the organization and major functional units of the classical von Neumann machine. [Analyzing]
  • AR-07 Diagram how high-level language patterns map to assembly/machine language, including subroutine calls. [Applying]
  • AR-08 Create simple assembly language program segments. [Creating]
  • AR-09 Demonstrate the basic concepts of interrupts and I/O operations. [Understanding]
  • AR-10 Compare the cost and performance of different types of memory technology. [Analyzing]
  • AR-11 Calculate the effect of memory latency on execution time across the memory hierarchy. [Applying]
  • CYB-06 Examine ethical issues related to cybersecurity. [Analyzing]
  • CYB-08 Apply security principles and practices in a dynamic environment. [Applying]
  • CYB-11 Use the principles of secure design. [Applying]
  • CYB-12 Illustrate the security implications of relying on open design vs the secrecy of design. [Applying]
  • CYB-17 Implement programs that properly handle exceptions and error conditions. [Applying] See also SDF-12.
  • OS-04 Diagram the interaction of an Application Programming Interface (API) with an operating system [Applying]
  • OS-05 Illustrate how computing resources are used by applications and managed by the operating system. [Applying]
  • OS-07 Investigate the need for concurrency within an operating system. [Applying] See also PD-01.
  • OS-08 Illustrate the principles of memory management. [Applying]
  • SDF-12 Investigate common coding errors that introduce security vulnerabilities. [Applying]
  • SDF-13 Implement refactoring within given program components. [Applying]
  • SDF-14 Analyze programming code that utilizes preconditions, postconditions, and invariants. [Analyzing]
  • SDF-15 Apply a variety of strategies to test and debug programs. [Applying]
  • SDF-16 Use an integrated development environment (IDE) to create, execute, test, and debug secure programs. [Applying]
  • SDF-17 Use standard libraries for a given programming language. [Applying]
  • SDF-18 Apply consistent documentation and program style standards. [Applying]
  • SDF-19 Carry out a code review on a program component using a provided security checklist. [Applying]
  • SF-05 Implement a program using methods of layering. [Applying]
  • SP-07 Examine various ethics scenarios in computing. [Analyzing]
  • SP-08 Support the ethical responsibility of ensuring software correctness, reliability, and safety. [Evaluating]
  • SP-09 Compare professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Analyzing]
  • SP-14 Illustrate the role of data collection in the implementation of pervasive surveillance systems. [Applying]
  • SP-15 Analyze technological solutions to privacy concerns. [Analyzing]
  • SP-16 Use effective oral, written, electronic, and visual communication techniques with stakeholders. [Applying]
  • SP-17 Interpret the impact of both verbal and nonverbal cues during communication among team members. [Understanding]
  • SP-18 Develop technical artifacts. [Creating]