The EECS 16 series Designing Information Devices and Systems is a pair of freshman-level courses introducing students to EECS, with a particular emphasis on how we deal with systems interacting with the world from an information point of view.
Mathematical modeling is an important theme throughout these courses, and students will learn many conceptual tools along the way. Throughout this series, generally applicable concepts and techniques are motivated by, and rooted in, specific exemplary application domains. Students should understand why they are learning something. EECS 16A focuses on modeling as abstraction -- a way to see only the important and relevant underlying structure in a problem -- and introduces the basics of linear modeling, largely from a "static" and deterministic point of view.
EECS 16B deepens the understanding of linear modeling and introduces dynamics and control, along with additional applications. Finally, EECS 70 which can be thought of as the third course in this sequence except without any labsintroduces additional discrete structures for modeling problems, and brings in probability.
In EECS 16A in particular, we will use the application domains of imaging and tomography, touchscreens, and GPS and localization to motivate and inspire. Along the way, we will learn the basics of linear algebra and, more importantly, the linear-algebraic way of looking at the world. We will emphasize modeling and using linear structures to solve problemsnot on how to do computations per se. We will learn about linear circuits, not merely as a powerful and creative way to help connect the physical world to what we can process computationally, but also as an exemplar of linearity and as a vehicle for learning how to do design.
Circuits also provide a concrete setting in which to learn the key concept of "equivalence" an important aspect of abstraction. Our hope is that the concepts you learn in EECS 16A will help you as you tackle more advanced courses and will help form a solid conceptual framework that will help you learn throughout your career.
This course spans a fairly broad set of ideas and concepts within a short period of time, and hence sustained and consistent effort and investment are critical to your success in this class.
In order to formally encourage all of you to maintain the sustained effort that we have observed to be critical to success, this semester we will be adopting a new policy regarding exam clobbering, participation, and effort.
If you qualify for the clobber ie 1 and 2 you may replace your lowest midterm score with the corresponding part of the final as a weighted average of your score on that midterm and the corresponding part of the final.
Please note that even though lecture attendance was not included for logistical reasons in the two criteria for clobbering eligibility, we do strongly encourage you to attend lecture in person, or at a minimum watch the webcasts at a reasonable playback rate and without other distractions as soon as they become available. Most Fridays there will be a "homework party" from 5pm-9pm. Homework party is optional but highly encouraged.
GSIs, readers, and occasionally the instructors will be present in shifts to answer any homework questions. Students are expected to help each other out, and if desired, form ad-hoc "pickup" homework groups in the style of a pickup basketball game.
We highly encourage students to attend homework party.Lecture videos can be found here. Lecture slides are linked below:. Homeworks are always due at 5 pm on Thursday unless otherwise specified.
Browse Exams by Department
Self-grades are always due at 6 pm on the Monday after the homework is due. Every week in Cory, there will be a "homework party. GSIs will be present in shifts as will some readers.
Students are expected to help each other out, and if desired, form ad-hoc "pickup" homework groups in the style of a pickup basketball game.
The primary way that the homework will be graded is by yourselves. Solutions will be posted online and then you will be expected to read them and enter your own scores and comments for every problem in the homework on a simple coarse scale:. Your grades will be due the Monday after the homework deadline and if you don't enter any grades by the deadline, you are giving yourself a zero on that assignment. Note: all partial credit must be justified with a comment. Just like we encourage you to use a study group for doing your homework, we strongly encourage you to have others help you in grading your assignments while you help grade theirs.
This will also help you avoid self-favoritism. The readers are going to grading and so we will catch any attempts at trying to inflate your own scores. This will be considered cheating and is definitely not worth the risk. Lab sessions are an important part of this course. Because of the limited amount of equipment, please only attend the lab session you signed up for through Telebears.
The material on in class and on the homeworks will be closely tied to the content in the labs. Please enroll in a discussion section via Telebears, if you have not already. You may only enroll in a discussion section that has space available: see the online schedule. Outside of your discussion section, you should feel free to attend any of the staff office hours and ask any of us for help. Unofficially, you are welcome to attend other discussion sections but only if there is physical room.
Extra credit will be available for many creative activities including helping us debug issues with the class and coming up with constructive solutions. For example: creating practice problems with solutions, providing patches to bugs in labs and homeworks, etc Talk with your GSI in person or post on Piazza if you want to get feedback from the entire class. The instructors and TA will post announcements, clarifications, hints, etc.
Hence you must check the EE16a Piazza page frequently throughout the term. You should already have access to the EE16a Spring forum. If you do not, please let us know. If you have a question, your best option is to post a message there.
The staff instructors and TAs will check the forum regularly, and if you use the forum, other students will be able to help you too. When using the forum, please avoid off-topic discussions, and please do not post answers to homework questions before the homework is due.
If your question is personal or not of interest to other students, you may mark your question as private on Piazza, so only the instructors will see it. If you wish to talk with one of us individually, you are welcome to come to our office hours. Please reserve email for the questions you can't get answered in office hours, in discussion sections, or through the forum.
It can be challenging for the instructors to gauge how smoothly the class is going. We always welcome any feedback on what we could be doing better. If you would like to send anonymous comments or criticisms, please feel free to use an anonymous remailer like this one to avoid revealing your identity. You are encouraged to work on homework problems in study groups of two to four people; however, you must always write up the solutions on your own.Hi there!
I'm a senior EECS major. I like to teach, and I will try my best to help you understand and master the materials in my discussion sections. Feel free to email me about anything especially if you are feeling lost in this course, want some advice, or just need to talk.
Random facts about me in no particular order: My most listened to Spotify artist of was Taylor Swift at 76 hours! My favorite coffee shop in Berkeley is Romeo's; favorite tea place is Asha. Best series I've watched so far this year was Girls. I used to be an English major because I wanted to be a writer still do. I'm excited to be a part of your 16B journey from A to Y because Z would be too much. I've spent most of my time since doing various things related to signal processing and control.
I hope this class is as enjoyable to all of you as it was to me! I was born and raised in Ecuador, and went to college for Engineering and Mathematics in Virginia. I have a semiconductor device background and research flexible optoelectronic devices. Welcome to 16B, and let's have a great semester! Excited to meet you all :.Advanced Git Tutorial
Hey everyone! When I have free time, I love playing and watching pretty much all sports, playing the piano, and being outside with friends. Feel free to come talk to me about pretty much anything. Wishing y'all a great semester :. I enjoy eating new foods, playing video games, and working on robots. Looking forward to meet you all!
I'm a second year EECS major whose interests include robots, cats, and anime. My goal is for you to have an enjoyable experience with the labs and maybe look forward to future ee classes. Please let me know if you have any song recommendations to play during section!
Alyssa is excited to be back after taking a semester hiatus in which life was dark and bleak without EE16B. She is a senior studying EECS and enjoys brewing and spilling tea, bike rides, and looking at pictures of other people's pets. Beyond academics, I enjoy video games, snowboarding, and volleyball! Outside of school, I like to spend my time drawing and playing the piano. Feel free to email me for anything school or non-school related questions!
Always happy to talk! I'm a 4th year student studying EECS. I'm a fan of nature and the outdoors, so you might see me walking around campus quite a bit. Look forward to seeing you in lab!
I'm super stoked to be teaching 16B, as it sets up the framework and gives you the tools to really love what EE has to offer.In the past two weeks we introduced the signal processing part for our lab and obtained the TDOA's Time Difference Of Arrivals of different beacon signals.
This week we are going to explore methods that help us determine the final location.
CS70 Spring 2019, Section 115
This lab will build upon the functions you wrote in weeks 1 and 2. This is the same syntax used to import the helper functions above. Multilateration is a technique widely used in locationing systems to precisely locate an emitter by measuring the TDOAs from three or more synchronized emitters at one receiver location for navigation applications or time difference of arrivals TDOAs of the signal from the emitter at three or more synchronized receivers for surveillance applications.
As in the previous labs we will focus on the navigation application modeled after GPS with several speakers emitting beacon signals and a single microphone receiving them. Thus we are unable to get the exact distances from the speakers to the microphone.
Instead of obtaining circles as what we got last week, we are only able to get hyperbolas. Since the distance is the speed of sound multiplied by the time the sound travels. We must have no less than 4 speakers to keep the lab running. Suppose we have four speakers located at 0, 05, 00, 55, 5respectively. We will simulate the case where the microphone is located at 1. Run the following block. Reference and more reading! Once we find the equations for each speaker and the microphone, we are able to construct a linear equations systems.
As we see in the above example, the microphone's position lies on the intersection of the curves.
Finding the position of the microphone is equivalent to finding the solution for the linear system. Write the function below that sets up the system of equations. Take a look at your results and make sure it works correctly.
How are we testing this function? During the transmission of sound in air, some noise is added into the signal. Most of the time we don't receive the original signal perfectly; in other words, the linear system is no longer consistant due to the modified signal. Also in our locationing system, we have more than 2 linear equations to improve the accuracy.
However with more equations, the linear system is more likely to be inconsistent. Least-squares solution ensures a best approximation we can get, even if there is technically no solution to the system. Implement the following function given arguments matrix A and vector b. You may implement your own function of solving least-squares or check the documentation of function numpy. Run the following tests to make sure your least squares estimate works.
Test your code with noisy inputs.Announcements [ Past Announcements ]. Signups for CS one-on-one tutoring available. See the Piazza post linked to this announcement. The git-bug command available on the instructional machines and in cs61b-software will send us a useful bug report that includes all your code and a message about what problem you are having with it.
It requires that you commit and push your work as you should be doing anyway and that you provide a text file which you don't have to commit containing a description of the problem you are seeing. Please use this instead of screenshots, emails of code snippets, etc. See also the Piazza post linked to from this announcement. You can narrow your view to this category using the tab on the folder bar at the top of the Piazza page.
For those of you with conflicts with tests 1 or 2, we will be addressing this issue closer to the time of the exams. Please do not mail us with conflicts at this time, but watch for further announcements.
We do not offer accommodation to those with conflicting finals as a result of taking two courses with the same lecture time. To join the Piazza page for CS 61B, head over to this this link. The access code is 61bfa The Scores tab above will show you what you have submitted and any logs produced by the autograder.
You can now sign up for a lab and discussion time using this sign-up link. You can use the link now to see what times and dates will be available.
khoa's internet hideout
Sign-ups are on a first-come-first-served basis. Waitlisted students are included, but will be dropped if they are unable to get off the lecture waitlist and enroll in the course. Students who are not able to fit into a lab or discussion can nevertheless attend, but only if there is room. You will need a CS61B Unix account to hand in your work and receive grades, among other things.
You can get one by clicking here. Lectures are screencast with audio and all slides are online. Attendance is not mandatory. In fact, we do not all fit into Wheeler, so I recommend that those of you who are so inclined stay home and watch them. Experience indicates that after the initial week or so, there will be plenty of space in lecture for those who prefer live attendance. Intro, Hello World Java [slides]. A Little Programming [slides] [code]. Developing a Sort, Unit Testing [slides] [code].
Intro to Java [Solution]. IntelliJ and IntLists. Values and Containers [slides] [code]. Simple Pointer Manipulation [slides] [code]. Pointers [Solution]. IntDLists and Debugging.
Arrays [slides] [code].Here is a list of lab reports, organized by vendor and batch. The link to the original page is provided, along with related links. I have saved as much as possible in case the original links As I get more reports, I will fill out this page further. If you are considering getting your stuff lab tested, please do and share the results.
You are helping everybody. The bottom line is that can mostly trust these lab reports, but the only way to be certain is to send in a test for every batch you buy and know for yourself what you bought.
We have no idea if Energy Control is lying to us, we're forced to trust them for the time being. Vendor ratings attempt to be as objective as possible. Vendors are listed in order of rating.
Grey vendors indicate uncertainty, either because of weird impurities, uncommon drugs, or untrusted results. Is your favorite vendor lacking test results? Vendors are orderd by the consistency of their reports. The vendors listed first have positive results, those listed later have less positive results.
Vendors not listed have not been tested. Vendors are not ranked by price, stealth, customer service, or any metric other than the test results. Within each vendor, results are listed by date recent first. Verified lab results come with fancy diagrams and some indication of legitimacy. Unverified results come from text posts, and require trusting the poster. While it is also possible to spoof 'verified' lab reports, spoofing an unverified result is as simple as making numbers up.
Skip to content. Instantly share code, notes, and snippets. Code Revisions 41 Stars 1. Embed What would you like to do? Embed Embed this gist in your website. Share Copy sharable link for this gist. Learn more about clone URLs.Update your browser to view this website correctly. Update my browser now.
This post is inspired by William Chen's post on Quora for Harvard. Disclaimer : I've not taken all of these classes, and some is more of a hearsay. This list is also not meant to be exhaustive. So you're at Berkeley, and you want to do Data Science? Here are some classes that you may find helpful to prepare for a career in Data Science. I don't think one can do data science without a basic understanding of database and SQL commands. CS teaches the life-cycle of software development and allows students to work on a semester-long project.
If you already had an internship, chances are you won't learn as much in this class, but I would still recommend doing it if you have an empty slot in your schedule.
Comments : Stat and are crucial for any statistics work, including data science. There are many series classes at Cal most are meant to be taken after andbut if you only have time for a couple, I would recommend the ones above. Again, YMMV. If Stat doesn't fit your schedule, any of the other four classes may also work. What's the differences among them? I don't have any personal experience with EEthough I've heard it's a notoriously difficult beast.
Unlike the lower division CS classes, don't worry about the lower division Stat classes. If you have completed a year of Calculus, it should be fine to jump straight to Stat Comments : Stat is a gentle introduction to programming for statistics majors, using R.
If you already have some nontrivial programming experience, it should be fine to skip it, since Stat also teaches students R from scratch for the lab portion of the class.
Stat is a new course that was first offered in Fall The initial run was quite rough, but I think the class will eventually become a valuable learning experience for undergrads in the near future.
This class teaches students the good practice of reproducible research, which is very essential if your goal is to go to grad school. CS is also a new course though it was previously offered in a different format by Cloudera's Founder and Chief Scientist, Jeff Hammerbacher. There's a cap on the enrollment for the class at the moment because the material is still being developed, but it should be fine for future semesters.
You learn the nuts and bolts of data science in this class, from scraping and preparing data to mining them for patterns. Finally, Info T is a fun and relaxing course that teaches you the basics of Data Mining, often taught by Yelp's Engineering Managers. The pace is very gentle, and students work on a collaborative final project that analyzes a dataset of their choice.
The class doesn't go very deep into the theory behind many algorithms, however. Upper division mathematics classes are notoriously mind-bending and difficult, but if you have time for just one, Math is the one.