Book for the Node.js course, that was held in the Metropolia University of Applied Sciences, Helsinki, Finland, during Autumn 2014.
- Questions, issues
- Tieto- ja viestintätekniikan tutkinto-ohjelman avoimen opintotarjonta Helsingin toimipisteessä
It should be noted that throughout this course, the Node.js version in question is 4.2.x
.
Lectures were held in Bulevard Campus, class room U423, every Tuesday at 16:40 - 20:45.
Any questions that might come up during or between the lectures, please open an issue if you feel that the subject would be useful for everyone.
- Introduction to Node.js and JavaScript
- GitHub forks and pull requests
- Modules and npm
- Code validation, conventions, linting
- HTTP, Connect, Express
- Common task runners
- Unit testing, Jasmine, PhantomJS
- Automation and continuous integration
- Package dependencies
- Front end third party dependencies and Code coverage
- Web performance
- More about unit testing and code coverage
- Security
- Database
- Heroku and other free hosting services
- Examples for previous tasks
- Feedback on the projects
The course contains four assignments, which are given in three weeks cycles. Each assignment should be returned in two weeks when it has been given, preferably via GitHub.
The projects which are used for completing the assignments, are listed here.
Each lecture contains two presentations made by student. Each presentation can last about ~15 minutes.
Presentation subjects are divided according to the themes of each lesson and assigned to the given students according to their own wishes. Please open a pull request for marking your presentation.
Subjects, presenters and dates.
Once a presentation has been held, the material should be linked in the above list.
Each lecture contains one or two relevant presentations that are presented by inspiring people around the Node.js community.
Based on the contents of the presentations, each subject has quizzes and exercises.
- The student is able to recognise the possibilities available via Node.js in a user interface development.
- The student can understand the meaning and reasoning for tools such as Grunt, Gulp, Bower and Jasmine in order to reduce the time used for repetitive tasks and to increase code quality.
- The student can create small scripts and plugins that can be used via command line.
- The student can publish their own tools and keep them up to date via version control systems.
- The student learns how to use GitHub service for group work.
Each student is evaluated according to the following criteria, based on their returned assignments, presentations and other studying activities during the lessons.
- The student can install Node.js and its related tools and applications
- The student can run existing Node.js tools from the commandline
- The student can create simple applications and to use them
- The student can understand how modules properties and methods are shown to third party scripts
- The student can understand the basics of unit testing
- The student can publish their own tool to the npm registry
- The student can create tests for their own tools/plugins
- The student can use the Node.js API efficiently and find methods that work for the given task
- The tools that the student has published have continuous automated testing
- The student is able to update their own tools via version control system
- The student can grasp what third party plugins can achieve and can use them efficiently in their own project
- The student is able to take part in the development of other tools via pull requests