Syllabus EECE3324 Fall2021
Syllabus EECE3324 Fall2021
Syllabus EECE3324 Fall2021
Course Staff:
Instructor: Professor Devesh Tiwari
Goodwill Computing Lab: https://goodwillcomputinglab.github.io/
Email: tiwari@northeastern.edu
Office Hours: Dana 308
Tuesday 11:30-12:30pm
Friday 11:30-12:30pm
(Optional) Textbook:
“Computer Architecture: A Quantitative Approach”
By John L. Hennessy and David A. Patterson, 5th Edition, 2012.
Elsevier, ISBN: 978-0-12-383872-8.
While I do not make the textbook “required”, I encourage you to obtain a copy
of this textbook. The textbook may help you understand certain concepts
ahead of time – I may put chapter/section numbers from the textbook in the
lecture slides as suggested background readings. There is no replacement of
reading and learning from a textbook, even in today’s digitized online world.
It’s more rewarding and enjoyable experience than ever.
Course Objectives:
This course is not intended to help you exercise Verilog, VHDL, or assembly level programming.
Understanding assembly instructions will be helpful, but not required. Course assignments will primarily
require you to code in C and Python language on a Unix system. Refer to the learning pointers to brush
up your knowledge in C, Python and Unix system.
C Tutorial:
http://www.kciti.edu/wp-content/uploads/2017/07/cprogramming_tutorial.pdf
Python Tutorial:
http://tdc-www.harvard.edu/Python.pdf
There will be one mid-term exam worth 10% of the grade and one final exam worth 10% of the
grade.
Quizzes
There will be multiple pop (surprise) quizzes. The schedule of these quizzes will not be announced,
but you can expect them to be periodic. These quizzes will cover material from prior classes and
papers assigned for reading. The best way to prepare for the quizzes is to review your notes from
the previous classes.
Idea behind these quizzes is to ensure that (1) continuous learning happens throughout the
semester instead of in bursts near a scheduled exam; (2) you do not lag too much behind the
schedule; (3) you remain attentive in the class and be engaged by asking doubts / questions.
Quizzes will be worth 15% of the grade and make-up quizzes may not be provided for missed
quizzes unless requested in advance (e.g., notify the instructor in advance for missing a class due
to health reasons). The quiz with the lowest score will be dropped from your record when
calculating your final grade – this policy should keep your blood pressure points under control when
you miss or perform terribly on a quiz under circumstances beyond your normal control.
Homework assignments
There will be five to six homework assignments. These homework problems will be worth 55% of
the grade. Many of the problems will be open-ended questions that will challenge you and improve
your technical, analysis, and technical communication skills. Some of the problems will be taken
from the problem sets in appearing in the course textbook. Some problems will focus on
“experimental learning” aspect of the course by requiring you to learn and experiment with tools and
open-source software. Please note that each homework assignment may not have equal weight.
Please use the online electronic system for assignment submission. If you are not able to access it,
please email your submission to the Instructor and the TA before the deadline. Not being able to
access the submission system near the deadline cannot be used as an excuse for late submission.
Special Note on Homework Assignment Submission
It is your responsibility to ensure that your assignment was successfully uploaded, we will not
entertain any request for late submission once the deadline has passed. Make sure you have
successfully uploaded your files before leaving or closing the submission portal. Accidental failures
to upload the assignment cannot be reason for late submission. Late submissions will not be
accepted even if the work was done before the deadline.
Late homework submissions are not allowed. With written justification and documentation, we
will allow up to one late submissions per student with 25% penalty, only when the students
requests within 24 hours after the deadline has passed. You will need to submit within 72
hours since the original passed deadline.
You can submit a request to regrade an exam / quiz / homework assignment by emailing an
explanation to the instructor within a week of receiving the grade. Regrades will be discussed only
after submitting the regrade request in this manner.
Grading Scheme
Quizzes (15%)
Homework assignments (55%)
Class participation (10%)
Mid-term exam (10%)
Final exam (10%)
A >90 %
A- 86 – 90.0 %
B+ 81 – 85.9 %
B 76 – 80.9 %
B- 71 – 75.9 %
C+ 66 – 70.9 %
C 63 – 65.9 %
C- 60 – 62.9 %
F < 60%
Note: No ‘D’ letter grades will be assigned. There is no point in passing a course with “poor
achievement” (‘D’ letter grade corresponds to “poor achievement” as per University guidelines:
https://registrar.northeastern.edu/article/university-grading-system/)
The instructor reserves the right to relax these boundaries depending on different factors. You
should not rely on curved grading. You should believe and demonstrate that you are a good learner
and technically competent that you do not need to rely curved grading to achieve a desirable grade
in this class.
Homework assignments can be discussed in groups, but submitted work must be performed
independently. When you discuss an assignment with your friend, do not take those notes with
you when you return to your desk to solve the assignment problem. Do not share any hand-written
or electronic notes with your friends. Try to take a break of one hour before returning to solve the
problem you were discussing.
Any instances of misrepresentation of individual work will be dealt with by referring the matter to
the NU Office of Student Conduct and Conflict Resolution (OSCCR). We will be running a computer
software that detects cheating in submitted academic assignments. Any instance of
cheating in quizzes / homework assignments / exam will result in zero grade for that
assignment and possibly a F grade in the course.
Computing Resources
All homework assignments that involve a computer should be done on the College of Engineering
Sun/Solaris and Linux systems. All Northeastern COE students have an account on this system. It
is your responsibility to obtain this account and use it to complete homework assignments.
Familiarity with Unix/Linux system is expected as part of your undergraduate curriculum. But, if you
are not familiar with Unix/Linux, please educate yourself using online resources.
https://help.coe.neu.edu/coehelp/index.php/Main_Page
Course Schedule (subject to change):
Week 1 Friday 10-Sep Introduction: What to expect and how to have fun?
Week 3 Tuesday 21-Sep Hardware software interface: Instruction Set Architecture (ISA)
Appendix A from H&P
Friday 24-Sep Computer microprocessor innovations I: Instruction Level
Parallelism (ILP) and Pipelining.
Computer microprocessor resource and control conflicts.
Appendix C from H&P
Week 9 Tuesday 2-Nov Computer microprocessor innovations IV: virtual memory basics
Week 10 Tuesday 9-Nov Virtual memory: Page Table and Translation Look-aside Buffers
Week 11 Tuesday 16-Nov Multi-processor Systems: Basic concepts and design trade-offs