Skip to content

Commit

Permalink
Merge pull request #77 from brandon-joel-gonzalez/master
Browse files Browse the repository at this point in the history
Added 18-729 + edited 18-843
  • Loading branch information
mikinty authored Dec 23, 2022
2 parents 1be39cd + 3343887 commit 676f58b
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 9 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ expect from the core classes from the ECE and CS programs at CMU.
- [18-690: Introduction to Neuroscience for Engineers](electives/18690.md)
- [18-698: Neural Signal Processing](electives/18698.md)
- [18-723: RF IC Design and Implementation](electives/18723.md)
- [18-729: Board-Level RF Systems for IoT](electives/18729.md)
- [18-740: Modern Computer Architecture and Design](electives/18740.md)
- [18-741: Computer Networks](electives/18741.md)
- [18-746: Storage Systems](electives/18746.md)
Expand Down
43 changes: 43 additions & 0 deletions electives/18729.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 18-429/729: Board-Level RF Systems for IoT

| Category | Difficulty |
|:-: | :-: |
| Homeworks | 6 |
| Labs | 4 |
| Quizzes | 6 |

This course explores RF (radio-frequency) systems design from several perspectives. It discusses transmission lines, antennas, transceiver design, modulation techniques, information theory, SDRs (software-defined radios), phased arrays, MIMO (multiple-input multiple-output), and more. It's a great way to get an overview of various topics related to wireless systems design.

If you're more interested in circuit-level (i.e. transistors) design for wireless systems, 18-723 is a good course to look into. If you're interested in more of the software and theory behind wireless systems, then courses like 18-741 or 18-750 can be good instead. This course is somewhere in-between, not quite going into IC-level design nor looking at the network layer, but instead exploring systems-level design. Check out the Prerequisites section for more information on what you need going into 18-729.

The course has lectures twice per week and a lab or recitation once per week. Labs and recitations usually alternate weeks, with recitations intended to help review for quizzes. Be aware that Fall 2022 was the first time that the course was offered; thus, a lot of the course structure (labs, lectures, etc.) may change in the next iteration. The course itself may also be renumbered from 18-429/729 to something else in Fall 2023.

## Prerequisites

Nominally, the course requires [18-290](https://github.com/CMU-HKN/CMU-ECE-CS-Guide/blob/master/ece_core/18290.md) and 18-320 as prerequisites. Signal processing is indeed a key component in RF design, so having a strong background (and perhaps having taken [18-491](https://github.com/CMU-HKN/CMU-ECE-CS-Guide/blob/master/ece_core/18491.md) as well) can prove very helpful. Regarding 18-320, the content in that course might be overkill for understanding 18-729. 18-729 does not go into transistor-level design, since [18-723](https://github.com/CMU-HKN/CMU-ECE-CS-Guide/blob/master/ece_core/18723.md) explores this. Thus, you only need the fundamentals from [18-220](https://github.com/CMU-HKN/CMU-ECE-CS-Guide/blob/master/ece_core/18220.md) to understand 18-729 -- RLC circuits and basic electromagnetics, for example. 18-729 explores transmission lines and antenna design from first principles, so you don't need to be an expert in circuits to do well in the course. The prerequisite of 18-320 may change to 18-220 in the next iteration of the course.

## Homeworks

There were 6 homeworks in the course, each spaced roughly even apart from each other (besides the gap in the middle of the semester due to the break). The homeworks were largely reflective of concepts covered in lecture, with some problems pointing students to the textbook to help solve them. They were generally not too intensive, compared to problem sets in other graduate circuits courses. You have up to one week to submit the homework late (with a 10% flat penalty), so be sure to make an attempt on each homework.

## Quizzes

There were 4 quizzes in the course; 3 of them were during class, and the final quiz was made a take-home quiz during finals season. The lowest quiz grade was dropped, so the take-home quiz was optional if students were content with their score. The quizzes were largely reflective of homework problems; Quiz 1 covered HW1/HW2/HW3, Quiz 2 covered HW4/HW5, and Quiz 3 covered HW6. The take-home quiz was cumulative. As long as you keep up with the homeworks and review relevant problems from lecture, you should be set for the quizzes.

## Labs

There were 6 labs in the course, again spaced roughly even apart throughout the semester. The topics were:

- RF Boards and VNAs: learning how to use a vector network analyzer (VNA) to take measurements of RF PCBs
- Antenna Design: designing your own antenna in MATLAB, to be milled out by the teaching staff
- Antenna Measurements: measuring your antenna's radiation pattern
- SDRs and Simulink: familiarizing yourself with the RTL-SDR and exploring modulation patterns in Simulink
- Antenna Arrays: simulating dipole and patch antenna arrays in MATLAB
- Beamsteering and MIMO: using a patch antenna array with a USRP radio to transmit and steer signals in the classroom

The labs are very hands-on -- the course staff gives you the necessary equipment, and they help guide you through the lab. Since Fall 2022 was the first iteration of the course, some of the labs were rough around the edges. The teaching staff helps you during the lab, and you can work in teams, so the labs tend to be relatively straightforward. The teaching staff hopes to work on the labs and improve them for the next iteration, but they should hopefully be a fun and interactive way to understand concepts discussed in lecture!

## Resources

- [Course Description](https://courses.ece.cmu.edu/18729C)
- [Microwave and RF Design (Michael Steer), the primary texts used for the course](https://repository.lib.ncsu.edu/handle/1840.20/36776)
47 changes: 38 additions & 9 deletions electives/18843.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,22 @@
| Project | 7 |


This course explores the principles and practice of mobile computing and its close relative, pervasive computing (aka “Internet of Things (IoT)”). The course will offer significant hands-on experience: in small teams, students will work under the guidance of a mentor on a project. Students will also, in small teams, present a summary and overview of the commercial landscape for one of the topics covered in class. At the start of each class there will be a 15 minute quiz based on the readings on a specific topic of mobile computing and Internet of Things (IoT).
This course explores the field of Mobile and Pervasive Computing, also known as IoT (Internet-of-Things) computing. It walks through a number of topics related to the field, including distributed filesystems, virtual machines, wireless technologies, energy harvesting, security and privacy, and much more.

The course is structured as a seminar class, where each week assigns a number of papers for the weekly topic. There is a half-hour quiz at the start of each class, followed by a lecture (either from the professors themselves or guest lecturers) which explores the week's topic in more detail. These papers and lectures are great ways to develop a broad understanding of the field; the papers span from the 1990s to the present, so you'll get to see the history of IoT computing. If you're interested in IoT systems research, or you're looking for papers for a qualifying exam, then this course does a nice job of showing you what's out there.

The second half of each lecture consists of a presentation called a Commercial Scan (or CommScan). For these, one or two students in the class present their own study of the field -- in particular, current commercial practices and challenges faced in the field today. Finally, throughout the entire course, you will work on a project related to IoT computing, either by yourself or with a partner. You'll have a mentor to help guide you, but this is very much an opportunity to apply what you've learned in a hands-on project.

## Prerequisites

The official prerequisite on the ECE website is [15-410](https://github.com/CMU-HKN/CMU-ECE-CS-Guide/blob/master/ece_core/15410.md), but you definitely don't need to take that course in order to do well in 18-843. Having some general background in operating systems, distributed systems, and computer architecture should be enough so that the papers are accessible to you. There may be some weeks where the papers are less familiar to you, but that's just fine; that will hopefully provide you with an opportunity to learn something new! Regarding the project, there isn't a defined set of skills that you will need to do well. If you're a senior or graduate student in CS or ECE, then you've likely taken enough courses such that the project will be entirely feasible.

## What to expect
- There are a total of 12 units. There will be an average of 6 papers to read for the following class.
- You are expected to go to class and the quizzes can only be done in class and not remotely
- There is no textbook, all papers can be found online
- There are a total of 12 units; there will be an average of 6 papers to read for the following class
- You are expected to go to class, and the quizzes can only be done in class (and not remotely)
- There is no textbook; all papers can be found online
- **There is no mid-term nor final exam**
- There is a semester long project in pairs, which is chosen the first day of classes
- There is a semester long project in pairs (or solo), which is chosen the first day of classes
- There is also a "Commercial Scan" presentation in which you research and present a relevant state of the art in industry, and how commercial practice diverges from academic research

## Grading weights
Expand All @@ -23,10 +31,31 @@ This course explores the principles and practice of mobile computing and its clo
- Quizzes (20%) -- you drop the worst test score
- Class participation (5%)

## Quizzes

The weekly quizzes are multiple-choice, and they're really intended to check if you've done the readings. Some of the questions can be a bit tricky, but as long as you keep up with the papers, then you should do well on them. The only problem is that the papers themselves can be somewhat lengthy and dense, so you may end up sinking tons of time into 40+ pages of papers each week. One skill that you will develop in the class is how to read papers such that you get the core concepts presented without spending a significant amount of time on them. It's okay if you don't do perfect on the quizzes -- you'll get better at picking out the key ideas as you read more papers!

## Presentation (Commercial Scan)

As mentioned previously, these presentations allow students to explore a topic in greater detail, understanding the challenges that certain areas of IoT computing have faced over the years. The professors provide a list of questions that they want these presentations to address, so be sure to use that to guide your presentation's content. Try to be as clear as possible in what you're presenting, with data and statistics backed by sources and citations. Every student has to do one presentation, but you can sign up for additional presentations; they will take the maximum of your presentation scores, so you might consider doing a second presentation if needed.

## Project

The project for this course is more like a capstone, where you have plenty of freedom in how you want to approach it. The professors will have a few projects already available at the start of the class, with mentors for each project who will help provide insight and feedback. You also have the opportunity to bring your own project to the class, though you will need a clearly defined problem statement and an identified mentor for the course.

There are two checkpoints -- one in late September and a second in early November -- which are intended to help you communicate your project's goals and the progress that you've made. Then, there is the final demo in the last week of the semester. Here, you will present your work with a poster, as well as a live demo. Your grade for the project is dependent upon both the checkpoints as well as the final demo and poster.

The project in this course is a unique way to explore a topic of your interest with guidance and feedback from the teaching staff and mentors. For many, this project ends up tying into their research, so this can be an awesome way to make progress on research and get a course credit at the same time!

## What to watch out for
- The quizzes are closed-book so it's important to read them well to get the general idea but also take notes since the quizzes tend to ask fine grained details
- The first day of classes the project mentors (usually PhD students) will present different project topics. At the end of the presentation you walk around the class and find a project you like and also a partner whom to work with. Each pair is working on different projects, meaning no team can work on the same one.
- Some projects are more related to what you learn in class than others. I would pay close attention to the project deliverable requirements since some of them are extremely more complicated than others.
- The quizzes are closed-book so it's important to read them well to get the general idea, but also take notes since the quizzes tend to ask fine-grained details
- The first day of classes the project mentors (usually Ph.D. students) will present different project topics. At the end of the presentation you walk around the class and find a project you like and also a partner whom to work with (if desired). Each team is working on different projects, meaning no team can work on the same one.
- Some projects are more related to what you learn in class than others. I would pay close attention to the project deliverable requirements since some of them are much more complicated than others.

## How to do well
- I would try to do the commercial scan within the first 3 weeks of classes. The commercial scan is done only once in the semester and doing it earlier than later can ease the workload when the project deliverables are due.
- I would try to do the commercial scan within the first 3 weeks of classes. Only one commercial scan is required in the semester, and doing it earlier than later can ease the workload when the project deliverables are due.

## Resources

- [Course Description](https://courses.ece.cmu.edu/18843)
- [Course Website](https://www.cs.cmu.edu/~15-821/)

0 comments on commit 676f58b

Please sign in to comment.