Course Syllabus

Course Overview:

This course is intended as a foundational course for electrical engineers, and it will cover material related to linear algebra (linearity; vector spaces; matrices; norms), continuous time linear signals and systems (basic signals including impulses, pulses, and unit steps; periodic signals; convolution; Fourier series and transforms), discrete time signals and systems, (impulse response; convolution; Z-transforms; discrete time Fourier analysis), vector calculus (algebraic and differential operations including gradient, divergence and Laplacian), control theory (linearization; state-space representation; controllability and observability), and probability and stochastic processes (basic axioms of probability models, conditional probabilities and independence, discrete and continuous random variables, multiple random variables, models of stochastic processes, Gaussian processes). Lectures will be organized as a combination of theory, programming and simulation tasks, and in-class activities, focusing on real-life examples.

Course Progression:

The following is the tentative class progression covering the 11 weeks of the course. The class will meet once a week on Wednesdays from 6:00-9:00pm.

Week 1: Course overview. Linear algebra review. Matlab.

Week 2: Continuous time linear signals and systems I.

Week 3: Continuous time linear signals and systems II.

Week 4: Continuous time linear signals and systems III.

Week 5: Discrete time linear signals and systems I.

Week 6: Discrete time linear signals and systems II.

Week 7: Introduction to C.

Week 8: Vector calculus.

Week 9: Introduction to control theory.

Week 10: Probability and stochastic processes I.

Week 11: Probability and stochastic process II.

Finals week: Final exam due.

About the Course:

The course will consist of homework assignments, simulation/programming assignments, in-class activities and a final exam.


Homework assignments:

There will be up to eight homework assignments in this course. The assignments will be a mix of written questions and computer-aided problems. While these computer-aided problems may be designed with a specific programming language/tool in mind, you are welcome to code them up using any software tool you prefer. You should, however, submit all your code and simulation models with your homework.

Simulation/programming assignments:

Simulation/programming assignments are an important part of this course, as they are expected to give you a hands-on experience with Matlab and C programming language. There will be up to four assignments through the quarter, and you will have at least two weeks to work on those assignments. You are encouraged to work in groups of two persons, but if you prefer, you can work on those assignments individually.

Each simulation/programming assignment will be graded based upon deliverables, which will be defined in each individual assignment.

In-class activities/quizzes:

In-class activities are just that – activities done in class. Occasionally, worksheets will be handed out in class, and will be used to review class material and facilitate discussion. 
Please be sure to write your name and the date of each activity when you turn it in, since in-class activities will be graded on a scale 0-2, where:

  • 0 means missed or irrelevant in-class activity,
  • 1 means relevant answers submitted, and
  • 2 means good and interesting answers submitted, and/or interesting discussion in 

There could possibly be an in-class activity every week of the quarter, but we will take five best scores when determining your grade. 

Final exam:

There will be one take-home final exam in this course. The exam will be assigned in the last week of classes (the week of December 7), and you will have a week to work on it. This exam is intended to represent your understanding of the subject matter; therefore you are required to take the exam completely alone.

You may contact the instructor or the TA (via email) with questions related to the exam, but you should not discuss the exam with other persons.

Similarly, you may use any publicly available material, including course material, books, or the internet, but you should not submit exam-related questions to internet discussion groups. If you find a solution in a book or online, please cite it in your submission and do not copy it word-by-word, but make changes which demonstrate you understand what you are writing. Otherwise we may not accept it.

Finally, please try to make an effort to make your all submissions clear and readable, and submit your code separately, with comments and explanations. Even if the final result is wrong, the code may allow us to find the bug and award partial credit.


Your grade in this course will be based upon homework assignments, simulation/programming assignments, midterms and in-class activities. The expected grade breakdown is:

  • Homework – 50%
  • Simulation/programming assignments – 30%
  • In-class activities – 5%
  • Final exam – 15%

Course Material:

The textbook for this course is Signals and Systems, by Oppenheim, Willsky and Hamid.

There are, however, many book and references that you might find useful. Some resources that you may want to consider include:

  • Seymour Lipschuts and Marc Lipson, Schaum’s Outline of Linear Algebra, 5th Edition
  • Hwei Hsu, Schaum’s Outline of Signals and Systems, 3rd Edition,
  • Moson Hayes, Schaum’s Outline of Digital Signal Processing, 2nd Edition,
  • Chi-Tsong Chen, Linear Systems, Theory and Design, 4th Edition,
  • Leon-Garcia, Probability, Statistics, and Random Processes For Electrical Engineering, 3rd Edition

Course Policies:

Collaboration: In this course, we want you to learn from each other. Therefore, you are allowed (and encouraged) to talk to your classmates and other students about all course assignments. You may also consult outside reference materials, or the instructor. However, all material that you decide to turn in should reflect your own understanding of the subject matter at the time of writing. If you work with someone else on any assignment, please include their names on the material that you turn in. 

Assignment Turn-in: Please, do not use email for assignment submissions. Instead, please turn your homework and your simulation/programming assignments using the course dropbox.

Late Assignment Turn-in: All assignments are due by 6:00pm on an assigned Saturday, but we understand that you may have to sometimes turn them in late. The grading penalty is 20% of the grade that you would otherwise receive for each day, or part of the day, that you are late. No submissions will be accepted after 5 days.

Checking grades: Grades will be posted to the course gradebook.

Course Summary:

Date Details