Test
Official course website
**ENGR 21: Computer Engineering Fundamentals**
**Fall 2024** CRN 17992
**[Emad Masroor](https://emadmasroor.github.io/) and [Matt Zucker](../index.html)**
Quick Links: [Current HW](HW/HW11.html) | [Latest lecture](Lecs/Lec22.pdf)
**Mid-Semester Survey**: [Link](https://forms.gle/HuMeqSBr7EFdGKAN7)
Lecture | Tue/Thu 8:30-9:55, Singer 222 |
---|---|
Lab | Mon/Thu 1:15-4:00PM, Singer 222/221 (beginning 9/10) |
Pre-requisites | MATH 025, ENGR 017 |
Wizard sessions | Mon 7:00 PM |
HW due date | Tuesday 11:59 PM (usually) |
Final Exam | None — final project |
Office Hours (Masroor) | Tue 3:30 - 5:00 PM, Singer 112 |
Office Hours (Zucker) | Thu 9:30 - 11:00 AM, Singer 235 |
In ENGR 021: Computer Engineering Fundamentals, you will learn how to teach a computer to do things that engineers need to do using Python. No prior knowledge of programming is assumed, so this will be a ‘first course in programming for engineers’ at Swarthmore. You will learn how to program computers (such as a laptop or desktop) and microcontrollers (such as the Circuit Playground Express) to manipulate information and perform tasks relevant to engineering, and to develop your sense of ‘computational thinking’. You will also learn how to use basic numerical methods that are commonly used in engineering. The course can (conceptually) be divided into three parts:
- Introduction to programming
- Using a microcontroller to observe and manipulate the environment
- Numerical techniques and their applications to engineering
Course Schedule
Class | Lecture | Topic | HW due | Test (Content) | Lab |
---|---|---|---|---|---|
1.1 09/03 |
Lec 1 | Introduction & Installation; variables & types | |||
1.2 09/05 |
Lec 2 | Programming basics: variables, types, conditionals | |||
2.1 09/10 |
Lec 3 | Base systems; Analog vs. digital data [files] |