This course introduces architecture of digital systems, emphasizing structural principles common to …
This course introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. It covers the topics including multilevel implementation strategies, definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. It also includes analysis of potential concurrency, precedence constraints and performance measures, pipelined and multidimensional systems, instruction set design issues and architectural support for contemporary software structures.
6.004 offers an introduction to the engineering of digital systems. Starting with …
6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a series of building blocks — logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples. 6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems. A good grasp of the material is essential for later courses in digital design, computer architecture and systems. The problem sets and lab exercises are intended to give students “hands-on” experience in designing digital systems; each student completes a gate-level design for a reduced instruction set computer (RISC) processor during the semester.
6.823 is a course in the department’s “Computer Systems and Architecture” concentration. …
6.823 is a course in the department’s “Computer Systems and Architecture” concentration. 6.823 is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers.
This course is designed to familiarize students with basic computer architecture and …
This course is designed to familiarize students with basic computer architecture and operating systems and the relationships between hardware and operating systems will be explored. A student who successfully completes this course will also be able to gain strong foundation in the core fundamentals of digital technology. Basic concepts are reinforced by exercises, and hand-on applications. Students will also program and run simple macros in Linux shell. Employability skills, such as Problem solving, Teamwork, Communications and Critical Thinking are integrated into the course work. 4 hours’ lecture. All course content created by Syeda Ferdous Arar Begum. Content added to OER Commons by Joanna Gray.
Dive into Systems is a free, online textbook that serves as a …
Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing. The book is intended for an audience that has only a CS1 background. It guides readers through a vertical slice of a computer to develop an understanding of a variety of systems topics, including:
- how a computer runs a program, from a program expressed in a high-level language to low-level binary representation and circuits
- programming in C and Assembly, assuming a CS1 background
- introduction to operating systems and the systems costs that affect program performance (the memory hierarchy, caching, and code optimization)
- introduction to parallel computing with shared memory and pthreads
Dive into Systems is designed to be present topics in as independent manner as possible so that it can be used as a primary textbook for a wide range of introductory-level computer systems courses, or as a supplemental background textbook for upper-level courses that cover Operating Systems, Computer Architecture, Compilers, Networks, Databases, and Parallel Computing.
Information Technology I helps students understand technical concepts underlying current and future …
Information Technology I helps students understand technical concepts underlying current and future developments in information technology. There will be a special emphasis on networks and distributed computing. Students will also gain some hands-on exposure to powerful, high-level tools for making computers do amazing things, without the need for conventional programming languages. Since 15.564 is an introductory course, no knowledge of how computers work or are programmed is assumed.
This new online version of the Educational CPU Visual Simulator allows users …
This new online version of the Educational CPU Visual Simulator allows users to visualize with detailed animations the execution of assembly language code. Its main goal is to support novices in understanding the behavior of the key components of a CPU, focusing on how code written in high-level languages is actually executed on the hardware of a computer.
It supports a simplified but representative assembly language of 16 (Data Transfer, Control Flow, Arithmetic-Logic) instructions, with immediate and direct addressing modalities. Instructions and numeric data can be inserted and edited directly in RAM. It is possible to define “labels” to be used as parameters in jump instructions, or as variable identifiers. The speed and level of detail of the animations can be controlled by the users. At any time, it is possible to switch between symbolic and binary representations.
It was successfully evaluated in Colorado: Cortinovis, R., & Rajan, R. Evaluating and improving the Educational CPU Visual Simulator: a sustainable Open Pedagogy approach, Proceedings of the 33rd Annual Workshop of the Psychology of Programming Interest Group (PPIG).
More information available in: Cortinovis, R. (2021). An educational CPU Visual Simulator, Proceedings of the 32nd Annual Workshop of the Psychology of Programming Interest Group (PPIG).
The basic objective of Unified Engineering is to give a solid understanding …
The basic objective of Unified Engineering is to give a solid understanding of the fundamental disciplines of aerospace engineering, as well as their interrelationships and applications. These disciplines are Materials and Structures (M); Computers and Programming (C); Fluid Mechanics (F); Thermodynamics (T); Propulsion (P); and Signals and Systems (S). In choosing to teach these subjects in a unified manner, the instructors seek to explain the common intellectual threads in these disciplines, as well as their combined application to solve engineering Systems Problems (SP). Throughout the year, the instructors emphasize the connections among the disciplines.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.