# Major Specific Courses

## ESE 350: Embedded Systems & Microcontrollers w/ Lab (Spring 2016)

An introduction to interfacing real-world sensors and actuators to embedded microprocessor systems. Concepts needed for building electronic systems for real-time operation and user interaction, such as digital input/outputs, interrupt service routines, serial communications, and analog-to-digital conversion will be covered. The course will conclude with a final project where student-designed projects are featured in presentations and demonstrations.

## ESE 224: Signal & Information Processing (Spring 2016)

Introduction to signal and information processing (SIP). In SIP we discern patterns in data and extract the patterns from noise. Foundations of deterministic SIP in the form of frequency domain analysis, sampling, and linear filtering. Random signals and the modifications of deterministic tools that are necessary to deal with them. Multidimensional SIP where the goal is to analyze signals that are indexed by more than one parameter. Includes a hands-on lab component that implements SIP as standalone applications on modern mobile platforms.

## CIS 121: Programming Languages & Techniques II (Spring 2016)

This is an introductory course about Basic Algorithms and Data Structures using the Java programming language. We introduce elementary concepts about the complexity of an algorithm and methods for analyzing the running time of software. We describe data structures like stacks, queues, lists, trees, priority queues, maps, hash tables and graphs, and we discuss how to implement them efficiently and how to use them in problems-solving software. A larger project introducing students to some of the challenges of software development concludes the course.

## CIS 160: Mathematical Foundations of Computer Science (Fall 2015)

Graph theory, combinatorics, number theory, probability, pigeonhole principle, induction, and proofs.

## ESE 215: Circuit Theory (Fall 2015)

AC & DC analysis, phaser analysis, Laplace transform, active and passive filters, operational amplifiers, and transistors.

## CIS 240: Introduction to Computer Systems (Spring 2015)

This bottom-up course begins with transistors and simple computer hardware structures, continues with low-level programming using primitive machine instructions, and finishes with an introduction to the C programming language. This course is a broad introduction to all aspects of computer systems architecture and serves as the foundation for subsequent computer systems courses.

## ESE 170/171: Principles of Digital Design (Spring 2015)

This course provides a modern introduction to logic design and the basic building blocks used in digital systems, in particular digital computers.

Course material includes:

### Combinational Logic

logic gates, minimization techniques, arithmetic circuits, modern logic devices (such as field programmable logic gates)

### Sequential Circuits

flip-flops, synthesis of sequential circuits, case studies (including counters, registers, and random access memories)

### State Machines with representations including

truth tables, logic gates, timing diagrams, switch representations, state diagrams

## CIS 120: Programming Languages & Techniques I (Fall 2014)

Introduction to computer science by emphasizing the design aspects of programming. Topics include:

- data types and data representation
- abstraction, interfaces, and modularity
- test-driven development
- programming patterns (recursion, iteration, events, call-backs, collections, map-reduce, GUIs, ...)
- functional programming
- how and when to use mutable state
- and object-oriented programming.

# Other Relevant Courses

## EAS 203: Engineering Ethics

## MATH 240: Linear Algebra and Differential Equations

## MATH 104e: Single Variable Calculus for Engineers

Single variable calculus that goes deeper than a standard 104 course, with an emphasis on Taylor series, asymptotic (big-O) notation, and lots of applications to the engineering sciences, spanning bio- to systems- to financial-engineering.

## MATH 114e: Multi-Variable Calculus for Engineers

Course discusses functions of several variables, vector-valued functions, partial derivatives and applications, double/triple integrals, conic sections, polar coordinates, vectors and vector calculus, first order ordinary differential equations, calculus applications to physical sciences, and use of symbolic manipulation and graphics software in calculus.

## PHYS 151: Principles of Physics II: Electromagnetism and Radiation

The topics of this calculus-based course are electric and magnetic fields; Coulomb's, Ampere's, and Faraday's laws; Maxwell's equations; emission, propagation, and absorption of electromagnetic radiation; interference, reflection, refraction, scattering, and diffraction phenomena.