
- Teacher: Felicia Reynolds


Este curso cubre la arquitectura emergente de procesadores multinúcleo y los modelos de programación paralela. Los estudiantes desarrollarán habilidades para optimizar el rendimiento en sistemas de alto rendimiento (HPC) y trabajarán con arquitecturas avanzadas como GPU. Además, explorarán metodologías para programación en memoria compartida y distribuida, así como la combinación de MPI y CUDA para procesamiento paralelo a gran escala.
This course covers the emerging architecture of multicore processors and parallel programming models. Students will develop skills to optimize performance in high-performance systems (HPC) and work with advanced architectures such as GPUs. In addition, they will explore methodologies for shared and distributed memory programming, as well as the combination of MPI and CUDA for large-scale parallel processing.



This course will prepare students personally and professionally for conducting a job search and planning a career path. It will include the identification and development of skills necessary for future employment and potential career opportunities. Participants will develop job search, networking, and career management skills to include business etiquette, salary negotiations, interviewing, and communications. Each student will learn the principles of developing a personal brand, and will create resumes, cover letters and portfolio elements to help communicate their brand and pursue their career objectives. This is a required course for all majors.




To provide a working knowledge of the hardware and
architecture of a computer system, particularly focusing on aspects such as
memory hierarchy, cache coherence and multi-threaded hardware support that
affect a full understanding of how to write multi-threaded software. This is a
practical course, grounded in a theoretical understanding of concurrency and
the problems and benefits it brings. We will use multi-threaded Java and
provide an understanding of how to apply appropriate concurrency control
primitives where there is simultaneous access to shared resources.

This course reviews common applications of wireless communication and introduces key terminology that facilitates the discussion of wireless communication in practice. Several topics are addressed, including broadcast radio and broadcast television, cellular communication, wireless local area networks, personal area networks, satellite networks, ad hoc networks, sensor networks, and finally underwater communication. The key concepts and the connections to digital communication are highlighted along the way. For a senior-level undergraduate course, I would cover the material from the entire book. For a graduate course, I would cover the entire book with an additional implementation or research project.

|
The course studies current technology for networked embedded network sensors and actuators including evolving protocol standards. The course considers the evolution of embedded network sensing and actuation systems with the introduction of wireless network connectivity in the realm of the “Internet of Things”, wireless sensor networking, and ambient computing. |


In this class, the fundamentals of embedded system hardware and firmware design will be explored. Issues such as embedded processor selection, hardware/firmware partitioning, glue logic, circuit design, circuit layout, circuit debugging, development tools, firmware architecture, firmware design, and firmware debugging will be discussed. The Intel 8051, a very popular microcontroller, will be studied. The architecture and instruction set of the microcontroller will be discussed, and a wirewrapped microcontroller board will be built and debugged by each student. The course will culminate with a significant final project which will extend the base microcontroller board completed earlier in the course. Learning may be supplemented with periodic guest lectures by embedded systems engineers from industry. Depending on the interests of the students, other topics may be covered.

The course provides a solid understanding of fundamental architectural techniques used to build today’s high-performance processors and systems. The course is structured around the three primary building blocks of general-purpose computer systems: processors, memories, and networks. It aims to provide a strong foundation for students to understand modern computer system architecture and to apply these insights and principles to future computer designs.

The course studies the principles of computer systems and network security. Students discuss various attack techniques and how to defend against them. Topics of study include network attacks, defenses, operating system holes, email, web security, malware, social engineering attacks, privacy, and digital rights management.

In this course you will learn about the basic components of combinational and sequential logic circuits, and about techniques for designing circuits using these components. We will introduce various formal logic and arithmetic concepts such as Boolean algebra, number systems, and Karnaugh maps that will help you analyze circuits and optimize their design.

Language and Speech Communication may be one of the most useful courses a student will take during his or her undergraduate career. Not only does it focus on the skills involved in selecting, researching, organizing, and writing persuasive messages, it teaches students the skills they need to present their ideas effectively in public.
In a small, supportive classroom environment, students learn to communicate their ideas effectively using verbal, written, and visual techniques. They also learn important listening skills, and peer evaluations of student speeches are an important component of the course.
Students also undertake self-evaluations, by viewing videotapes of their own speeches and analyzing their performance.


Background Colour
Font Face
Font Kerning
Font Size
Image Visibility
Letter Spacing
Line Height
Link Highlight
Text Colour