Lecture: 3 hours
Discussion: 1 hour
Comparative study of different hardware architectures via programming in the assembly languages of various machines. Role of system software in producing an abstract machine. Introduction to I/O devices and programming.
Prerequisite: ECS 040 C- or better or ECS 032B C- or better or ECS 036B C- or better
Credit restrictions / cross listings Only one unit of credit allowed for students who have taken Electrical and Computer Engineering 70.
Summary of course contents
Goals: Students will (1) learn fundamental concepts of computer architecture; (2) learn fundamental concepts of software systems; (3) be able to write programs in assembly language for at least two different architectures .
Engineering Design Statement
Students in the course write sophisticated, systems-level programs according to their own design. Many of the programs involve analysis of tradeoffs between efficient use of the hardware and ease of programming.
ABET Category Content
Engineering Science: 2 units
Engineering Design: 2 units
Science & Engineering
Overlap: Substantial overlap with EEC 70, but large student demand justifies the overlap in content.
Instructors: S. Davis, M. Farrens, and N. Matloff
History: 2018.9.18 (CSUGA): Updated course prerequisites with new lower division ECS series courses. 2012.10.27 (M. Farrens): Revised catalog description and added revised course contents, which were previously omitted from ICMS. Added an overlap statement, which was likewise absent. Prior course description goes back to November 1996 (N. Matloff, P. Rogaway). Pre-electronic CAF; added to archive 06/20/2007.
|1||an ability to apply knowledge of mathematics, science, computing, and engineering|
|2||an ability to design and conduct experiments, as well as to analyze and interpret data|
|3||X||an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability|
|4||an ability to function on multi-disciplinary teams|
|5||X||an ability to identify, formulate, and solve computer science and engineering problems and define the computing requirements appropriate to their solutions|
|6||an understanding of professional, ethical, legal, security and social issues and responsibilities|
|7||an ability to communicate effectively with a range of audiences|
|8||the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context|
|9||a recognition of the need for, and an ability to engage in life-long learning|
|10||X||knowledge of contemporary issues|
|11||an ability to use current techniques, skills, and tools necessary for computing and engineering practice|
|12||an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices|
|13||an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity|