Quick Links
TA Contact Information
Section 101 Monday 12:00 – 15:00 GB251Pushkar Bettadpur: pushkar.bettadpur@mail.utoronto.ca
Ishita Ray: ish.ray@utoronto.ca
Section 102 Wednesday 15:00 – 18:00 GB243
Kuei (Jack) Sun: kuei.sun@utoronto.ca
David Lion: david.lion@mail.utoronto.ca
Section 103 Monday 9:00 – 12:00 GB251
Shengjie (John) Xu: shengjie.xu@mail.utoronto.ca
He (Shawn) Shuang: he.shuang@mail.utoronto.ca
Lab Assignments
The ECE344 lab assignments will be released here. Please go over the lab documentation and the frequently asked questions below.
Getting Started With Labs
Please fill in this form to sign up for a remote Git repository. This is necessary to submit your labs.
All source code must be compiled and submitted on the lab computers. These computers are Linux machines with names that matches ug*.eecg.utoronto.ca
, e.g., ug149.eecg.utoronto.ca
. You can tell which machine you are using from the command prompt. For example, if you are using ug149.eecg.utoronto.ca
, the command prompt will show ug149
. The range of machines that are accessible is roughly ug51-ug100
, ug132-ug180
and ug201-250
.
After signing up with the above form, students will be assigned a user number for this course. You can find out your user number by typing the groups command after logging into the lab machines.
$ groups
This command provides information about all the Unix groups to which you belong. One of them should be in the range from os-001 to os-200. The 3-digit number after os- is your user number for this course (e.g., with 031, the user number is 031 and not 31). Expect a small delay (around a day) between signing up on the form and receiving your group number. If you still do not have a user number after signing up with the form, please send an email to David Lion. Make sure to cc your partner if applicable and include your UTORIDs in the email.
Below, we have provided instructions for accessing the lab machines remotely. You can also setup your SSH Keys, which simplifies using ssh for remote access.
Lab Documentation
These documents will be helpful for the ECE344 labs.
- Testing your lab code
- Submitting your lab code
- Git Resources
- Setting up SSH Keys
- Debugging with GDB
- Using Tags for code navigation
- Using Cscope for code navigation
- Using Screen for managing multiple terminal windows
Frequently Asked Questions
Please see the frequently asked questions about the ECE344 labs.
Remote Access to Lab Machines
We will be using the ECE Workstation Labs for ECE344. To access these machines remotely, you need to be connected to the U of T network. After that, you can use SSH to access the Unix machines remotely.
You can use the screen program to multiplex multiple virtual terminals onto a single console. This is especially useful when debugging Lab 4 and Lab 5, which involve a client and a server program.
If you wish to use a graphical IDE to develop and debug your programs on the ECE lab machines from a remote site, you will need to use VNC, as described in the SSH link above.
Lab Machine Issues
Some students exceed their disk quota and then they are unable to access the lab machines. In this case, a remote ssh connection will still work (from ECF machines, or from a friend's account). After logging into the lab machines, run the command
du -sk * .??*
to find out exactly where the space is being used. Huge browser caches and/or unemptied Trash are the usual causes. You can also use the command
quota -s
to find out your disk quota on the machines.
If you have additional issues with the lab machines, including with forgotten passwords, please contact Tim Trant, the lab administrator, and make sure to include your UTORID in your email.
The C Language
Here are some links to tutorials for C.
- Programming in C: A Tutorial Brian W. Kernighan
- C Programming Steve Holmes
- A short tutorial on pointers in C by the instructor