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 as part of Git for Windows)
- Git: version control system (built-in on Mac, Windows version available as part of Git for Windows)
- 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)
Please read the following section for next steps on installing this software.
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 can come to section after getting as far as they can on their own.
Coding Conventions
The Coding Conventions page summarizes CSE 331 specific coding conventions that you should keep in mind while completing assignments.
The comfy-tslint page provides more specific explanations for each lint rule in the comfy-tslint linter.
Math Conventions
The Math Conventions page summarizes CSE 331 specific math conventions that you should keep in mind while completing assignments.
This page is new. Please give us feedback on it!
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.
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.