cme211 / notes Goto Github PK
View Code? Open in Web Editor NEWCME211 Notes | Outline ->
Home Page: https://github.com/CME211/notes/blob/master/README.md
CME211 Notes | Outline ->
Home Page: https://github.com/CME211/notes/blob/master/README.md
hw1
hw2
hw3
other questions:
Homework repo: https://github.com/CME211/homework
enumerate
is missing the first line of output.Order of arguments, details on how linker makes 1x pass.
Use numpy to load files.
Include Jupyter notebook output cells so notes are readable online.
Currently the markdown files and notebooks only have input code.
Section 1 of lecture 12 has Duplicated what is briefly presented in lecture 11.
Consider moving underflow mention to section on floating point.
https://github.com/CME211/notes/blob/master/lecture-02/0-outline.md#printing
change to correct computation of area
I think the notes are not so good on this matter:
"The scope of a variable is the region of code within which a variable is visible."
Should be on a Monday after break, as opposed to a Tuesday as listed on Schedule.csv
It would be good to add some notes on integer representation before the numeric conversion section. The key point is that the Python (3?) int
type supports arbitrarily sized integers.
https://github.com/CME211/notes/blob/master/lecture-02/3-numbers.md#numeric-conversions
Some of the material like iterators are already covered elsewhere. Consolidate material more appropriately. Or tie it in more cohesively.
We need to be a little bit more careful with the terminology used. I.e. we should remove dynamic array
from introduction. We are really introducing the relationship between static arrays and pointers, the notion of a pointer (and the corresponding operations that can be applied to a pointer type), as well as the notion of Heap/free-store memory. We should really emphasize that as users of C++ whom are not writing software for other programmers, we shouldn't ever use naked new
s or delete
s in our program, relying instead on the STL (wherein our dynamically sized (and separately, also heap-allocated) vector
s come into play).
It would be good to document the relationship between Jupyter Notebook and IPython.
Rather than passing input arguments in prescribed number and order, we should encourage students to use command line flags to specify input. For example, instead of giving example for launching area computation program as
$ ./compute_area 10 20
we should provide example that takes input arguments like this:
$ ./compute_area --width 10 --length 20
This way allows students to specify defaults for all input variables, and to enter input argument in any order at the command line.
Clarify further differences between when we can modify passed arguments vs. Not.
To set expectations that useful intermediary data structures should be declared upfront.
Also, make init
method initialize data attributes, and then load_name_data
can populate them. But all attributes should. be defined in the init method.
Make mention of SIMD - single instruction multiple data, and its relation to numpy operations. GPU's excel at SIMD, but CPU's are still capable of executing instructions in parallel. Other common numpy (vectorized) operations include np.log, np.abs, np.maximum
Explain cerr and ensure consistency in returning non-zero values upon exit. Clarify relationship (or lack of) between cerr and exiting a program.
Clarify order of arguments for curried functions.
Several of the C++ examples in lecture 10 have Python style #
comments.
Idea: Modify syllabus to include a small bonus for students who submit all assignments?
In the introduction to C++ lecture, we should mention const
types and provide examples for their use. Homeworks and the course project code and material should use and/or refer to const
types where appropriate.
Sometimes students have confusion around what it is that Make is doing for us (and what it's not, e.g. it does compile the program but it doesn't run it).
need to change method name add_class
to add_course
. The name is confusing when we are trying to discuss Python class
es
Should be discouraged until we cover it properly and in detail. It may obfuscate the examples.
currently, there is a long list of readings in lecture 3. These should be distributed to other notes files.
Put together simple set up guides for VIM and Emacs. Consider making config files downloadable.
We get many questions on homework in the forum. It could be useful to have a document/primer explaining how to ask type(s) of questions. Inspiration can be drawn from a Stack Overflow QA template. E.g. if the question involves understanding how code(s) should work: (i) clarifying details around the question, and possibly a MWE (ii) what has been tried/considered? (iii) attempting to use the Search function (and correspondingly, comping up with a relevant Title for the question if a new one must be created), etc.
It turns out that AFS is not working well with git
and GitHub.
See: https://web.stanford.edu/group/farmshare/cgi-bin/wiki/index.php/User_Guide#Directory_paths
We need to update notes and train students to use /farmshare/user_data/[username]
where [username]
is their sunetid.
Consider adding
new
and delete
with classes.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.