{"id":439,"date":"2020-09-16T17:30:53","date_gmt":"2020-09-16T21:30:53","guid":{"rendered":"https:\/\/web.uri.edu\/comparch\/?page_id=439"},"modified":"2020-09-16T17:38:41","modified_gmt":"2020-09-16T21:38:41","slug":"teaching","status":"publish","type":"page","link":"https:\/\/web.uri.edu\/comparch\/teaching\/","title":{"rendered":"Teaching"},"content":{"rendered":"<div class=\"cl-wrapper cl-card-wrapper\"><a class=\"cl-card  \" href=\"https:\/\/www.ele.uri.edu\/faculty\/sendag\/ele208\/\" title=\"\"><div class=\"cl-card-container text\"><div class=\"cl-card-text\"><h2>ELE 208 Introduction to Computing Systems<\/h2><p><strong>Course Description:<\/strong>\u00a0The objective of ELE208 is to remove much of the mystery of how computers work and to teach enough programming methodology to enable students to get the computer to do some useful work for them. To this end, we will discuss how a computer works at the machine organization level, including how to program the computer in its own, built-in language, machine language. We will then move on to assembly language.<br><strong>Prerequisite:\u00a0<\/strong>Credit or concurrent enrollment in MTH141 or equivalent, or permission of instructor<br><strong>Textbook:<\/strong><br>1) Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2nd edition, Yale N. Patt and Sanjay J. Patel, McGraw-Hill, 2003. ISBN 0-07-246750-9.<br>2) Guide to Using the Unix Version of the LC-3 Simulator, by Kathy Buchheit.<\/p><\/div><\/div><div class=\"cl-card-container button\">ELE208 webpage<\/div><\/a><\/div>\n\n<div class=\"cl-wrapper cl-card-wrapper\"><a class=\"cl-card  \" href=\"https:\/\/www.ele.uri.edu\/faculty\/sendag\/ele305\/\" title=\"\"><div class=\"cl-card-container text\"><div class=\"cl-card-text\"><h2>ELE 305 Introduction to Computer Architecture<\/h2><p><strong>Course Description:<\/strong>\u00a0Programmers who seek to build competitive versions of compilers, operating systems, databases, and even applications will need to increase their knowledge of computer organization. The goal of this course is to explain what&#8217;s inside the computer, unrevealing the software below your program and the hardware under the covers of your computer. By the time you complete this class, you will be able to answer the following questions: (1) How are programs written in a programming language, such as C or Java, translated into the language of the hardware, and how does the hardware execute the resulting program? (2) What is the interface between the software and the hardware, and how does software instruct the hardware to perform needed functions? (3) What determines the performance of a program, and how can a programmer improve the performance? (4) What techniques can be used by hardware designers to improve performance?<br><strong>Prerequisite:\u00a0<\/strong>ELE 208 or permission of instructor<br><strong>Textbook:\u00a0<\/strong>Computer Organization and Design: The Hardware\/Software Interface, 4th Edition, David A. Patterson, John L. Hennessy, 2007. ISBN: 978-0-12-374493-7.<br><strong>Supplemental Text:\u00a0<\/strong>The C Programming Language, Second Edition by Kernighan and Ritchie.<\/p><\/div><\/div><div class=\"cl-card-container button\">ELE305 webpage<\/div><\/a><\/div>\n\n<div class=\"cl-wrapper cl-card-wrapper\"><a class=\"cl-card  \" href=\"#\" title=\"\"><div class=\"cl-card-container text\"><div class=\"cl-card-text\"><h2>ELE 548 Computer Architecture<\/h2><p><strong>Course Description:<\/strong>\u00a0The goal of this course is to impart a deep understanding of high-performance computer system architecture. The emphasis is on memory systems, advanced pipelining, instruction-level parallelism, thread-level parallelism and multi-processor design. Topics covered include branch prediction techniques, dynamic instruction scheduling, memory hierarchy, virtual memory, memory consistency models, synchronization, and cache coherence protocols. Term project aims to develop an understanding of the techniques for quantitative analysis and evaluation of modern computing systems, such as the selection of appropriate benchmarks to reveal and compare the performance of alternative design choices in system design. The course is intended for graduate students in electrical and computer engineering, and computer science.<br><strong>Prerequisite:\u00a0<\/strong>ELE 305 (Introduction to Computer Architecture) or ELE 405 (Digital Computer Design) or equivalent, or permission of instructor<br><strong>Textbook:<\/strong><br>1) Computer Architecture: A Quantitative Approach (4th or 5th Edition), John Hennessy and David Patterson, Morgan Kaufmann Publishers, 2007, 2011.<br>2) Modern Processor Design: Fundamentals of Superscalar Processors, John Shen and Mikko Lipasti, McGraw-Hill, 2003.<\/p><\/div><\/div><div class=\"cl-card-container button\">ELE548 webpage<\/div><\/a><\/div>\n\n<div class=\"cl-wrapper cl-card-wrapper\"><a class=\"cl-card  \" href=\"uri.edu\" title=\"\"><div class=\"cl-card-container text\"><div class=\"cl-card-text\"><h2>ELE 405 Digital Computer Design<\/h2><\/div><\/div><div class=\"cl-card-container button\">ELE405 webpapge<\/div><\/a><\/div>\n\n<div class=\"cl-wrapper cl-card-wrapper\"><a class=\"cl-card  \" href=\"uri.edu\" title=\"\"><div class=\"cl-card-container text\"><div class=\"cl-card-text\"><h2>ELE 648 Advanced Topics in Computer Architecture<\/h2><p><strong>Course Description:<\/strong>\u00a0Modern high-performance computer structures, parallel and distributed hardwares and softwares, instruction level parallelism, memory hierarchy, fault tolerant computing, and future generation computers.<\/p><\/div><\/div><div class=\"cl-card-container button\">ELE648 webpage<\/div><\/a><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3931,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-439","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/pages\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/users\/3931"}],"replies":[{"embeddable":true,"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":5,"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/pages\/439\/revisions"}],"predecessor-version":[{"id":466,"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/pages\/439\/revisions\/466"}],"wp:attachment":[{"href":"https:\/\/web.uri.edu\/comparch\/wp-json\/wp\/v2\/media?parent=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}