You are here: Home / ECPE 170 / Labs


This course is organized around 12 in-class labs on varying topics.

Lab Reports:

Each lab requires you to write a lab report that answers key questions as you work through the lab. These reports should follow the format of the LibreOffice template provided here. Answers to most lab questions can be short; a few sentences is generally sufficient.

The first lab (and only the first lab!) will be submitted via the Canvas site. For all other labs, everything (programs source code, lab reports, etc...) must be checked into the corresponding lab directory in version control and pushed to the online repository.

Lab Reports must be submitted in PDF format, not as LibreOffice files (Choose File->Export as PDF).  Documents not in PDF format will be returned ungraded.


    Pre-Lab checkpoints are due at the beginning of class of the corresponding lab. A "checkpoint" is simply a quick verification that the requested activity was complete. Detailed grading will be done when the full lab report is submitted.

    The full Lab Report is due by 5:00am on the dates listed in the table below. (The intent is that you finish it up at your leisure the night before, rather than waiting till the last second and submitting it at 4:59am...)


      To account for the varying amount of work required, each lab is worth a different point amount, as listed in the table below.


        Lab #TopicLab Start DateLab Report Due DatePoints Per ProblemPre-Lab PointsLab Points
        1 Linux Basics Jan 21st, 2020 Jan 25th, 2020 by 5am Rubric 50 60
        2 Version Control Jan 23rd, 2020
        Jan 28th, 2020 by 5am Rubric 15 45
        3 C Programming 

        (Language, Tools, and Makefiles)
        Jan 28th, 2020 Feb 4th, 2020 by 5am Rubric - 70
        4 C Programming Project Jan 30th, 2020 Feb 18th, 2020 by 5am Rubric - 150
        5 Performance Measurement Feb 10th, 2020
        Feb 25th, 2020 by 5am Rubric - 140
        6 Performance Optimization
        (Compilers and programmer techniques)
        Feb 20th, 2020 March 10th, 2020 by 5am Rubric - 160
        7 Performance Optimization
        (Memory Hierarchy)
        Feb 25th, 2020

        March 24th, 2020 by 5am

        Rubric - 160
        8 Network Socket Programming
        March 24th, 2020

        March 31st, 2020 by 5am

        Rubric - 120
        9 Network Socket Programming
        March 31st, 2020

        April 7th, 2020 by 5am

        Rubric - 120
        10 MIPS Assembly Programming
        April 7th, 2020 April 14th, 2020 by 5am
        Rubric - 125
        11 MIPS Assembly Programming
        April 14th, 2020
        April 24th, 2020 by 5 AM Rubric - 135
        12 MIPS Assembly Programming
        April 16th, 2020
        April 29th, 2020 by 5 AM Rubric - 135