ECE 30 - Introduction to Computer Engineering

Spring 2015





Practical Information

Course load

4 units

Prerequisites

with grades of C- or better

Lectures

Lab sections

10 sections per week (WLH 2217C), led by TA.

Discussion sections

Quizzes will be held during the Monday discussion sections.

Final Exam

TBA

Instructor

Gert Lanckriet

Email: gert@ece.ucsd.edu
Office: 5604 Jacobs Hall
Office hours: Tuesday 3:30-3:55pm / Wednesday 3:45-4:50pm

Due to the large size of the class, Gert will forward every ECE30 email he receives to the head TA, at ecethirty@gmail.com, except for email marked with [FOR THE PROFESSOR ONLY] in the subject line (which he may still forward to the head TA, depending on the question).

Head TA

Yonatan Vaizman

Email: ecethirty@gmail.com

If you have any questions related to ECE30: ALWAYS email the head TA, at the above email address. The head TA will route your question appropriately, to the professor or any of the other TAs.

Project TAs

Daniel Heineck

Office: Daniel will meet students in WLH, room 2217C
Office hours: see project assignment

Sibo Wang

Office: Sibo will meet students in WLH, room 2217C
Office hours: see project assignment

TAs / Tutors

David Hall

Office: David will meet students in WLH, room 2217C
Office hours: Friday 3pm-5pm

Raghav Abboy

Office: Raghav will meet students in WLH, room 2217C
Office hours: Friday 4pm-6pm

Yao Guo

Office: Yao will meet students in WLH, room 2217C
Office hours: Thursday 11am-12am

Cuong Luong

Office: Cuong will meet students in WLH, room 2217C
Office hours: Thursday 6pm-7pm

Shreyash Bhattarai

Office: Shreyash will meet students in WLH, room 2217C
Office hours: Thursday 10am-11am

Junjie Lou

Office: Junjie will meet students in WLH, room 2217C
Office hours: Monday 9:30-10:30am, Friday 3-4pm, Saturdays after quizzes 9:00am-noon

Grading

Quizzes: 40%
Programming Project: 15%
Final Exam: 45%

Back

Class Schedule and Suggested Reading

Full schedule of lectures, discussion sections and lab sections, and suggested reading can be found here.

Back

Updates & Announcements

Back

Course Materials

Topics


Textbook

The textbook for this course is ``Computer Organization and Design, Patterson and Hennessy'' (3rd, 4th or 5th edition).

Podcast

Podcasts for the lectures of this course are available at http://podcast.ucsd.edu/

Lecture Notes / Slides


SPIM Simulator

You can download a PC version or a Unix version from here. Ubuntu users can type "sudo apt-get install spim". In addition, UC Berkeley maintains a Web page for a MAC OSX version.

You can find a nice tutorial for the SPIM simulator here.

Note to Windows 7 users: If SPIM complains about a missing "exceptions.s", you can fix it by going to Simulator->Settings, and changing the path from "C:\Program Files\PCSpim\exceptions.s" to "C:\Program Files (x86)\PCSpim\exceptions.s".


Study Problems

Study problems with solutions will be posted weekly. It is strongly recommended that these problems be worked out and thoroughly understood (quiz problems will be based on material covered in class, lab problems and study problems).

Week 1 - Performance Measures: study problems.

Week 2 - Assembly: Basics: study problems.

Week 3 - Assembly: Procedures: study problems.

Week 4 - Assembly: Procedures: study problems.

Week 5 - Arithmetic for Computers: Logic, Negative Numbers, Adders: study problems.

Week 6 - Arithmetic for Computers: Negative Numbers, Real Numbers, Adders, Multiplication: study problems.

Week 7 - CPU Design: study problems.

Week 8 - CPU Design: study problems.

Week 9 - Memory Hierarchy: study problems.

Week 10 - Memory Hierarchy: study problems.

Back


Labs

Lab week 2 (mandatory): assignment 1 (solutions), assignment 2 (solutions), sample.s.

Lab week 3 (mandatory): assignment (solutions).

Lab week 4: assignment (solutions).

Lab week 5 & 7 (mandatory): programming project and errata (more information under Programming Project).

Lab week 6: assignment (solutions).

Lab week 8: assignment (solutions).

Lab week 9: assignment (solutions).

Lab week 10: assignment (solutions).



Back


Quizzes & Final Exam

Some example problems will be posted to give you an idea of possible quiz problems.

Week 1 - Performance Measures: example problems (solutions).

Week 2 - Assembly: Basics: example problems (solutions).

Week 3 - Assembly: Procedures: example problems (solutions).

Week 4 - Assembly: Procedures: example problems (solutions).

Week 5 - Arithmetic for Computers: Logic, Negative Numbers, Adders: example problems (solutions).

Week 6 - Arithmetic for Computers: Negative Numbers, Real Numbers, Adders, Multiplication: example problems (solutions).

Week 7 - CPU Design: example problems (solutions).

Week 8 - CPU Design: example problems (solutions).

Week 9 - Memory Hierarchy: example problems (solutions).

Week 10 - Memory Hierarchy: example problems (solutions).

Quizzes are based on material covered in class, lab problems and study problems. They will be held during Monday discussion sections as indicated on the schedule. Every Sunday before a quiz, there will be a special "quiz office hour", 2:00-3:30pm in WLH, room 2217C.

Final: The final exam for A00 (6/9, 11:30am-2:29pm) will be held in CSB 002. The final exam for B00 (6/9, 3:00-5:59pm) will be held in Center 101. No calculator, no cheat sheet.

There will be a review session the day before the final (Monday June 8th), 5:30-7:30pm, in WLH, room 2217C, with overflow rooms 2214 and 2217A.

Back


Programming Project

The project: Minimax Tic-Tac-Toe - assignment, project submission.s, errata.

Due: Thursday, June 4, 2015

The programming project must be done in groups of two. You may select your own partner, from the same lab section as yours.

The programming project is in MIPS R2000 assembly language. You will need to download a simulator called QTSPIM on your own computer, which can be used to verify the correctness of your assembly language program. You can use either the PC (Windows) version, the MAC OSX version, or the Unix/Linux version.

You must turn in a commented source code electronically by the due date.

Please follow the instructions in the assignment carefully.

If the TA can't easily run your program, you will lose points.

The program is due by 5:00PM on Thursday, June 4, 2015. Any program received after that will lose points for being late.

Turn in the program by emailing it to Daniel and Sibo at ecethirty@gmail.com with subject line ECE30 PROGRAM. In the email body include the email addresses and full names of both partners. Be sure to attach the program!

The project code MUST be written by the team members themselves. Copying code (or acquiring code from any source external to the team) will not be tolerated. It will be penalized with an "F" grade for the class and a formal report to the UCSD ethics office, for both group members, both for teams providing code as well as for teams receiving code.

Back