Skip to main content
Navigate Up
Sign In
 

Teaching

Dan Connors


​​

Courses

Course Descriptions

  • ELEC 1520. Embedded Systems I - Programming for Engineering Problem Solving
    Programming concepts are introduced from a hardware design standpoint. Assembly language and the "C" language are used to interface and manipulate hardware. Microcontroller programming for electrical engineering applications is studied.
  • ELEC 2520. Embedded Systems II- Microprocessor Components
    A second semester computer engineering course covering basic computer architecture including CPU's, memory, peripherals, and operating systems including development tools, Kernel selection, file systems, and storage device manipulation, boot loaders, USB, networking, device drivers, and real-time operating system usage.
  • ELEC 3651. Digital Hardware Design
    The specification and design of large digital hardware systems. Applications include using a hardware description language and simple digital control circuits.
  • ELEC 4723/5723. High-Performance Computer Architecture
    A senior-level or graduate course that covers the design of advanced processor design. In particular, the course includes the design of modern microprocessors, characteristics of the memory hierarchy, power efficiency, reliability, and issues involved in multi-threading and multicore architectures.
  • ELEC 4511/5511. Hardware/Software Interface
    The hardware-software course examines all of the abstraction levels below modern high-level languages; Students gain the sense of what really happens when software runs and carry out their own solutions at multiple levels of abstraction (ARM assembly, C code, and Python). The course is built on the Raspberry PI platform that allows students to gain core understanding interfacing devices with the Linux operating system. The course has several guiding themes: Bottom-up: to effectively understand a computer system and the trade-offs, it is necessary to start at the bottom and work towards the top. Bottom level would thereby imply starting with nothing, from scratch, with the aid of advanced technologies. Integration: how multiple components or software layers of a system are integrated to form a cohesive system. Independence: many concepts in the class will requires students to patiently investigate and practice their skills with computer system concepts. Students are expected to independently explore material and apply contemporary concepts (Google Drive, OpenCV, etc).
  • ELEC 4727/5727. Computer Vision and Image Processing Acceleration
    The primary objectives for students to achieve: an ability to write optimized and parallel programs, using the Open-source Computer Vision (OpenCV) library, to analyze image and video data into structured results; knowledge and understanding of most common computer vision and image processing algorithms involved in application of object/feature detection, tracking, etc.; and experience with applying computer vision techniques and creative engineering background into a major design project. Overall, the goal of the class is have students understand and overcome (using profiling, performance analysis, and optimization) computer architecture (processor, memory system, bus interfaces, etc) bottlenecks related future computer vision and image processing applications. A senior-level or graduate course that covers the design of advanced processor design. In particular, the course includes the design of modern microprocessors, characteristics of the memory hierarchy, power efficiency, reliability, and issues involved in multi-threading and multicore architectures.

© The Regents of the University of Colorado, a body corporate. All rights reserved.

Accredited by the Higher Learning Commission. All trademarks are registered property of the University. Used by permission only.