cme212 / course Goto Github PK
View Code? Open in Web Editor NEWCME212 Course Information
CME212 Course Information
From https://piazza.com/class/jqn6ifdfwqv7kw?cid=15
Here are some tips for setting up your VM that should make your life easier.
From the "Oracle VM VirtualBox Manager" menu, select the cme212-ubuntu-vm in the RHS panel, and then open the "Settings" menu.
Under "General" >> "Advanced" >> "Shared clipboard" select Bidirectional. This will allow you to copy/paste content between the VM and your local computer.
Under "System" >> "Motherboard" >> "Base Memory" you might want to consider increasing the memory. This could improve some of the latency issues.
Under "Display" >> "Screen" >> "Video Memory", again consider increasing the memory to improve latency.
If you want to share a folder between your local computer and the VM:
"Shared Folder" >> + Folder icon
Folder path: Local path to folder, e.g. /Users/jesswetstone/
Folder name: Name of local folder, e.g. cme212-jhwetstone
Select Auto-mount
Mount point: Name of folder on VM, e.g. cme212-jhwetstone
Select Make Permanent
Save settings and log on to the VM. In a terminal window, type:
sudo usermod -aG vboxsf $USER
Log off and log back on. Under "Files" on the VM, you should have access to the shared folder /media/sf_[Mount point]
If you would like to use the Sublime text editor on the VM: http://tipsonubuntu.com/2017/05/30/install-sublime-text-3-ubuntu-16-04-official-way/
Note: If you are able to run code locally, you should probably be OK to develop locally for most of the classwork this quarter. We recommend having a working VM configured for testing purposes and if for some reason later on in the course your code won't compile locally.
Gives students time to digest feedback a bit more before starting on HW? (Some common pedagogical themes occur in both).
Still release them at the same time.
EX due Friday, HW due second Friday. Repeat.
See here: https://piazza.com/class/k561l4fat0w161?cid=277
Collecting and reporting assertion failures. You can check a condition with a==b, but what do you do with the result? You'll need at least some code to print details of the failure (otherwise, the test is not that useful) and some state variable to mark the test as failed (so that you can return a nonzero code from the test program). Well, guess what - you don't have to reinvent the wheel for every project. googletest's EXPECT_EQ (and other similar macros) will check the condition, record a failure in the global state of the test (which is used to determine whether the test passed or failed) and report all recorded failures at the end of the test, together with source line numbers and values for all arguments (so not just true or false, but also values of a and b, so that by reading the test output you can immediately see what went wrong). There are also more advanced macros like EXPECT_DOUBLE_EQ that check floating point values with a tolerance, or EXPECT_DEATH, which allow you to test that a particular statement crashes with an error - something that's not easy to code yourself! Moreover, these macros can be called anywhere (e.g. in nested functions), which is great if you testing code is more complex and does not fit into a single function.
Managing the collection of test cases. You can define a large number of tests, and googletest will, by default, run them all and print a nicely formatted summary of what passed and what failed. Then you can selectively rerun only a subset of tests (by filtering on the test name), for example only the ones that failed. Some IDEs integrate nicely with googletest.
To be specified with greater clarity in the 2019 syllabus. For ideas, see: https://github.com/cme212/homework/issues/12
Some small bonus for instructor approved answers at the EOQ.
Given our new focus on testing in the homework it would be good to introduce the concepts early.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.