Welcome to the website for the Spring 2019 Offering of CS/ECE M119 “Fundamental of Networked Embedded Systems” course at UCLA.
Instructor
Teaching Assistant
Xiang 'Anthony' Chen
Assistant Professor - ECE
xac@ucla.edu
Rohit Banerjee (RB)
M.S. Student - ECE
rohitbanerjee@g.ucla.edu
Lectures:
TuTh 4-5:50 PM @ Boelter Hall 2444
Discussion Section:
Fr 3-3:50 @ Math Science 5233
Office Hours:
Anthony: 50%: TuTh 6-6:30 PM @ Boelter Hall 2444 or 1538; 50%: by appointment.
Rohit: 50%: Wed 4-5 PM @ Boelter Hall 1538; 50%: by appointment.
Prerequisites
The course requires that you have familiarity with:
The course has no textbook. We will hand out slides and point to reading material that is either available openly on the web or available as electronic books via UCLA.
You need to have access to a laptop computer where you have administrator privileges in order to install software. The computer must have at least one and ideally two USB 3.0 USB ports (either built-in or via adapters) and suitable adapters/cables/hub to allow you to connect to hardware devices with micro-USB ports. While we will provide instructions for all the three major OSs (Linux, Mac OS X, and Windows), please note that some of the tools are much better supported or easier to install under Unix-like OSs (Linux, Mac OS X), and so if you are on Windows then it may become necessary to run a Linux Virtual Machine configured to access the USB ports using virtualization software such as VirtualBox (free) or VMWare (commercial with student pricing) and your laptop would need plenty of RAM.
In order to run certain applications that interact with hardware via Bluetooth Low Energy (BLE) as well as for use in your project, you would need to have an Android or iOS smartphone with Bluetooth Low Energy (BLE). Most phones from recent years will have BLE, but please double check, particularly if you've an Android smartphone.
You would need the following two embedded computing platforms for use in the course:
We realize that this is a financial imposition on students but sadly the University / Samueli Engineering / ECE & CS Department do not provide resources to cover such costs. The overall cost of around $120 if you shop smartly is comparable to that of new textbooks, and we will use the same platform for several years so that you would be able to sell it to future students. These are also pretty cool platforms which you might find useful for hacking and tinkering anyways. If any of you are particularly financially constrained, please talk with me (Prof. Anthony Chen) and I will find some way to help.
Due to the nature of this course combining both theoretical and practical hardware/software concepts, attendance in both the scheduled lecture hours as well as the discussion section hour is essential.
Assignments (35%)
There will be five assignments: one zero-credit for filing out the Academic Integrity Agreement Form as described below, one minor one, and three major ones. The first assignment (minor) will be primarily meant to set up the compute environment, go through tutorials in a timely manner etc. It will have minimal weight. The three major assignments will carry bulk of the weight for this category, and will each have a significant programming component and a short question-answer and problem solving component.
All assignments are due by 11:59 PM on the specified due dates (see the schedule below).
There will be two in-class open-cheatsheet exams (Week 6 & 10). They would consists of short question-answers, problem solving, and simple code snippets.
Working in a team of up to 2-3, you would apply concepts learnt in the class to create a cool IoT application or create a new hardware or software capability for IoT. You would present your project in the form of a demo during the final examination slot when we will hold a demo session. Additionally, you will do a short peer review of another project that would be randomly assigned to you. A detailed breakdown is:
Your overall grade will be done as follows:
All submission will be via gradescope. No hardcopy assignments will be accepted. In all assignments, part of the credit will be set aside for how well organized and presented the submission is, and in particular handwritten-and-scanned assignments will not receive towards this component. The only exceptions are (i) Any forms that you are required to submit in which case you should print, fill them out, and scan, and (ii) Figures in an otherwise electronically formatted document may be hand drawn, scanned, and inserted. Besides physical scanners, there are variety of good scanner apps for smartphones. Just taking a photo with a camera usually does not result in a good scan due to perspective distortion and improper lighting, both of which scanner apps correct for.
You will have a total of 4 late days available for use on the assignments, usable in 24 hr chunks and no more than 2 days for any given assignment. Late days may not be used towards the Project. You will be expected to keep track of late days used. An assignment submission is considered complete only when you have submitted all parts of the assignment.
Given the heavy reliance of this course on programming assignments and project, it is critically important that you be aware of what will constitute violation of academic integrity. With an eye towards that, we have prepared an Academic Integrity Agreement Form which as part of Assignment #1 you would print, fill out, sign, and submit on gradescope by the deadline.