CSE 331: Resources
Other Course Pages
This website will be the main source of information about the course. However, we will also use the following web pages:
- Gradescope: used to submit homework assignments
- Canvas: used for non-public information such as grades, recordings of lectures, and Zoom links for office hours
In addition to these web pages, students will need to install software, as described in the next section.
In the last section on this page, you will find additional resources that may be helpful during the quarter.
Required Software
All students should have access to the following software, either on their own computer or using the department's computers:
- Bash: command-line shell (built-in on Mac, Windows version available to download)
- Git: version control system (built-in on Mac, Windows version available to download)
- Node: executes JavaScript code on the command-line
- NPM: package manager (comes with Node, above)
- VSCode: where you write code (any editor is allowed, but we can only provide support for this one)
Software Setup
Students are expected to complete the steps described on the Software Setup page before the first quiz section of the quarter. Those who have any trouble should ask for help on the message board. If it cannot be resolved that way, they should come to section after getting as far as they can on their own.
Coding Conventions
Coming soon!
Math Conventions
Coming soon!
Additional Resources
This section contains links to articles and websites with more information about the languages we are using. They include lots of information that is useful but beyond what we can cover in class.
Textbook
As the syllabus explains there is no required text book; however, many students, early in their CS careers, find the following book helpful:
- The Pragmatic Programmer by Andrew Hunt and David Thomas, 20th anniversary (2nd) edition, Addison-Wesley, 2020.
Articles
- JavaScript Language Overview highlights the important features of JavaScript. (Skip the sections on classes and asynchronous programming.)
- TypeScript for Java Programmers highlights the key differences between TypeScript and Java, namely, structural typing and type erasure.
References
- Mozilla Developer Network (MDN) is the definitive source for JavaScript information.
- typescriptlang.org is the definite source for TypeScript information.
Advanced Topics
- Effective TypeScript has more advanced tips on using TypeScript. Most are beyond what we will need in this course, but if you want to learn more about the language, this is a good source.