The enrolled students must have taken CS 2200 or an
equivalent course with minimum grade of C. The students also
need to have taken the prerequisites of CS 2200, i.e., CS
2110. We will specifically assume that all the students
understand the basics of digital logic design. For example,
the students should easily construct a full adder with AND,
OR, and NOT gates. We will further assume that the students
understand the fundamentals of processor organization. For
example, the student must be able to easily design a
single-cycle, a multi-cycle, or a pipelined processors are
designed using adders, multiplexers, and registers, ... .
There is no perfect textbook for this course and we will not
require a textbook. However, I highly recommend reading the First
Edition of
Digital
Design and Computer Architecture by David Harris and
Sarah Harris, Morgan Kaufmann Publishers, 2007. This
book is not the course textbook and I preserve the right to
deviate from the book as I see fit. I strongly advise
you to read the Verilog chapter and strictly follow
the book's style. Try to forget other Verilog styles
that you might have learned from reading other "references"
that tell you everything you can do with Verilog
without teaching you how you should use it to be able
to design a real piece of hardware. All other relevant
material will be made available on the course webpage or on
T-Square.
The exams and assignments will be based on the lectures.
Instead of the textbook, we will also use a combination of
class notes and online resources. These online resources
include but not limited to free software that will translate
and load your hardware designs into the FPGA board. To run
this software and connect to the FPGA board, you will need
access to a Windows-based computer with a USB port. You can
use a virtual machine such as Virtual Box to install
Windows on Mac OS X or Linux.
Each student must acquire her own Altera
DE1 board. You can use the Georgia
Tech Special Discount Program to buy the board. You can
alternatively buy the board directly from Altera using their general
academic program, which is more expensive. You may
borrow the board from a student who has taken the course in previous
semesters but not this semester. However, the
board must be at your disposal throughout the semester.
When buying, be careful and make sure that you purchase the
right board, the
DE1 board.
If you would like to use the Georgia
Tech Special Discount Program, you have to put your
order by 11:59 pm on Friday 08/22/2014. To
provide a lower price, Terasic (the board manufacturer) will
ship ALL the boards to the instructor and the
instructor will give them to you after receipt. Therefore, it
is imperative that all the students put their order by the pre-specified
deadline of 11:59 pm on Friday 08/22/2014.
Note that failure to order the board on time will not make
you eligible for late assignment submission.
Attendance is mandatory unless you get explicit permission
from the instructor to be absent. Students who face emergency
situations outside their control that prevent them from
attendance should contact the instructor before the class. If
that is impossible, the student should inform the instructor
afterwards as soon as possible. The student must provide
documentation or other proof of the emergency situation.
Attending lectures and taking good notes will be very
important, especially because (1) there is no textbook and (2)
important announcements (e.g., project requirements or
changes in due dates) will be made during lectures.
Furthermore, (3) some things you will need to know for the
project assignment cannot be adequately inferred only by
looking at lecture slides. In many situation, I will do live
demos and use the board to explain many intricacies.
To encourage attendance, there will be three unannounced
(surprise) pop-quizzes during the semester, in addition to
in-class demos and the mid-term exam that appear in the
schedule. In summary, we might not be taking attendance in
every lecture, but it will be very very very hard to
earn a passing grade without attending lectures.
Students will be evaluated based on the following rubric.
There is a 5% bonus in this rubric.
Class Participation | 15% | Three unannounced in-class quizzes, each
weighted 5% of the final grade |
Midterm Exam |
10% | In-class, will be graded before the last
drop day |
Final Exam | 20% | Comprehensive exam that will covers the
entire semester's material |
Project Assignment 1 |
5% | Will be graded based on the report |
Project Assignment 2 |
10% |
Will be graded based on the report |
Project Assignment 3 |
15% |
Will be graded based on both the report
and the demo |
Project Assignment 4 |
15% |
Will be graded based on both the report and the demo |
Project Assignment 5 |
15% |
Will be graded based on both the report and the demo |
We will use two policies to assign final (letter) grades.
Each student's grade will be computed using both policies, and
the final grade will be the better of the two grades. The
first policy is not curved, with 90% or more of the maximum
possible score yielding an A, 80%-90% yielding a B, 70%-90%
yielding a C, 60%-70% yielding a D, and <60% yielding an F.
The second policy is the traditional curve-based policy, using
the average (AVG) and standard deviation (STD) of scores in
the class. Earning more than AVG+STD (one standard deviation
above the average) will yield an A, earning AVG to AVG+STD
will yield a B, earning AVG-STD to AVG will yield a C, earning
AVG-2*STD to AVG-STD will yield a D, and earning less
than AVG-2*STD (two standard deviations or more below the
class average) will result in an F grade. Since the second
policy is based on the average performance of the class, you
can only aim for a certain grade if you use the above rubric
and get the best grade based on the first policy.
There will not be any make-up assignments. Therefore,
if you need a particular grade, plan wisely and perform
accordingly on homework, projects, and exams. Because of the
large number of assignments in this class, re-grading can only
be requested during 14 days that follow the release of scores
from any assignment/exam. The exception to this is the final
project assignment and the final exam. For assignment 6,
re-grades can only be requested until the Wednesday of the
finals week. For the final exam, no re-grades will be possible
until final grades are officially released (in OSCAR). You can
still see your final exam and request a regrade during the
first two weeks of classes in the Spring semester. When
requesting a re-grade, keep in mind that the entire submitted
assignment or exam will be regraded, so a regrade may
result in a loss of points.
The grade in this class will be based on your performance.
Once an assignment or exam is over and graded, only a
mistake in grading can result in change of the grade. I will
never change a grade because the student needs a better grade
to stay in the program, to keep a fellowship, to get a job, or
any other reason. If you believe you need a certain
grade in this class, plan to earn the grade through excellent
work in homework, projects, and exams.
If you are a gradating senior, keep in mind that this is a project-based
class for the purposes of GT Rules and Regulations
section 7.B.3. More specifically, a graduating senior who has
a single-course deficiency usually has a right to be permitted
a re-examination, and passing that re-examination would allow
the student to graduate. However, this right to a
re-examination does not apply to CS 3220 or any other
"courses in which a significant portion of the grade is based
upon projects." Please keep this in mind if you are planning
to graduate this semester.
No late assignments will be accepted and no credit will be
given for any late submission. All homework sets an
project assignments are due on the day specified by the
problem set, announced in T-Square, or in class (later
announcements take precedence over prior ones). An assignment
is only considered submitted when it is submitted through
T-square, and the files that will be graded will be those
submitted in T-Square. We will not accept a late submission if
the file is elsewhere, even if the file modification time and
date are before the deadline (those can be forged). Thus, please
make sure that the files you submitted in T-Square are
indeed the ones you want graded.
Students who face emergency situations outside their control
that prevent them from completing an assignment in time should
contact the professor before the assignment is due or, if that
is impossible, as soon as possible. After receiving an
extension, the student must submit the assignment before the
extended deadline and will be required to provide
documentation or other proof of the emergency situation.
Note that needs and emergencies within the student's control
do not qualify for an extensions. In particular, the student
is responsible for keeping adequate backups of their work and
submitting the assignments ahead of time if needed. Examples
of what does not qualify for an extension include, but are not
limited to: the student needs a particular grade to graduate,
the student wants to go on a cruise with their extended
family, the student goes spelunking when the assignment is due
and the cave does not have WiFi, the student tries to submit
the assignment from a coffee shop and WiFi is down, the
student misreads the due date, student's rhinoceros pet eats
her laptop, student's laptop falls out of her backpack during
a bungee-jump, etc.
Absolutely no collaboration is allowed during exams or
quizzes. Copying or receiving any information from
another person or from another person's exam, with or without
their consent, is unethical and unacceptable. However, you can
always ask TAs or the professor for clarification of an exam
question during the exam. Cheating during an exam or a quiz is
a direct violation of the Georgia Tech Academic
Honor Code and will be reported to and handled by the
office of student affairs.
A group of two students will be doing each assignment.
However, each student must write their report and demo their
project individually. Absolutely no collaboration is allowed
between different groups. Collaboration with students or other
individuals outside of your group (for example, a friend at
another institution) is prohibited, and will be reported as
Unauthorized Collaboration, which is a violation of the Georgia Tech Academic
Honor Code. Submitting any work other than your own
(including content from the Internet) without proper
attribution (specifying the source) will also be reported as
Plagiarism, which is also in violation of the Georgia Tech Academic
Honor Code. Note that this is different from discussing
lecture material (such as re-explaining an idea covered in
class in a different manner or with a new example, or
discussing what is being asked in the project assignment).
Helping someone understand what is being asked in a problem is
fine. However, giving them hints or helping them actually do
what is being asked is not acceptable.
Collaboration within the group is allowed only for the
implementation of the project assignment, i.e. writing Verilog
code, programming the board, collecting required files, etc.
However, each student in the group is responsible for
individually writing up ad submitting a report and all the
required files in T-Square, without any help from other
members of their group. Working with or copying from anyone
(including your group partner on writing the project report)
will be reported as Unauthorized Collaboration and/or
Plagiarism.
Note that each student's grade will be based on what that
particular student submits in T-Square. For example, if a
group completes an assignment but one student in that group
submits the wrong (e.g., old) files, the two students will
have receive a vastly different scores on that assignment. The
students in each group is allowed (but not encouraged) to
complete the project independently. However, both parties need
to discuss how to share the board in case of sharing.
Also, note that each student will demo their project
individually, and that each student is responsible for
understanding all aspects of the work the group submits
regardless of whether the student or their group partner
implemented that specific part of the work. Note that a
student's score on Assignments 3-5 will be significantly
reduced if the student cannot demo the work or explain how the
implementation or the code works.
If you are not sure about anything, ask the professor and/or
consult the Georgia
Tech Academic Honor Code. A violation of the rules will
still be considered and treated as a violation of the rules,
regardless of whether or not the student understood the rules
or interpreted them correctly. If you are not sure that you
understand how the rules apply to a particular situation, you
must ask.
Students are expected to abide by the Georgia Tech Academic Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You will have to do all assignments individually unless explicitly told otherwise. You may discuss it with classmates but you may not copy any solution (or any part of a solution).