CSE 1302 - Intro to Computer Engineering - Fall 2026
Course Information
CSE 1302 is a 3 credit, in-person course. This syllabus applies to all sections.
This course introduces students to fundamental concepts in the basic operation of computers, ranging from desktops and servers to microcontrollers and handheld devices. Subjects include digital and analog input/output, sensing the physical world, information representation, basic computer architecture and machine language, time-critical computation, machine-to-machine communication and protocol design. Students will use both desktop systems and handheld microcontrollers for laboratory experiments. Active-learning sessions are conducted in a studio setting in which students interact with each other and the professor to solve problems collaboratively.
Put another way, we explore the universal similarities between all modern computing problems: how do we represent data? How do we communicate with other computers? How do processors "think"?
Prerequisite: CSE 1301 or equivalent.
Required Materials
The course textbook, provided here at no cost - there is nothing to purchase.
A SparkFun Inventor's Kit (Arduino-compatible), which includes the RedBoard, breadboard, and components used in every studio and assignment.
The Arduino IDE and the Eclipse IDE, both free. Lab machines have both installed if you prefer not to use your own laptop.
Learning Outcomes
By the end of the semester, students should be capable of the following:
Information representation - understanding various forms of information representation in digital computers and converting among those representations.
Automata - using finite-state machines to reason about algorithmic operations and implementing finite-state machines in software.
Timing and Events - authoring software for which "when something happens" is a functional correctness criteria.
Data communication - authoring software to communicate between two dissimilar computing systems (e.g., having distinct representations for integer data types).
Assembly language - designing and authoring software in assembly language, including interfacing with a high-level language.
Administrative Logistics
The instructor for the course this semester is
James Orr. Please use Piazza for any course-related communication. If the subject is sensitive, send a private Piazza message rather than posting publicly.
Head TAs this semester are Ayla Burba and Chiagozie Okoye. TA office hours are documented here.
Studios will be in Urbauer 216/218 every Tuesday, lectures will be in Lopata 101 every Thursday. Class meets from 1:00-2:20 pm and 2:30-3:50 pm. Lab locations are on the 2nd floor of Urbauer. Come to the lab for which you are registered, but we may move you to a different section (at the same time) to better handle the load.
We will primarily use Piazza for communication in the class. Please use Piazza over email for asking questions.