TTC2080 Full Stack Programming
General information
Name | Full Stack Programming |
Code | TTC2080 |
Target Group | Bachelor's Degree |
Number of ECTS Credits | 5 |
Recommended Year of Study | 2nd year |
Language | English/Finnish |
Prerequisites and co-requisites | HTML, CSS |
Grading | 0-5 |
Communication | Dedicated Microsoft Teams channel: #Full Stack Programming |
Lecturer | Pasi Manninen |
firstname.lastname@jamk.fi | |
Building | JAMK/IT - Dynamo |
Introduction
Welcome to Full Stack Programming course! After completing this course student are able to implement small-scale web applications used in real roles, carry out interface programming in a web browser as well as server programming on a server.
This course mainly focuses to give introduction to JavaScript, Node, Express and Mongo (Full Stack).
Tip
This course contains a lot of exercises, so the main goal is to learn by doing!
Items of assessment
Exercises (mandatory)
Exercises teaches the basics of the Web development with a JavaScript programming language. Student need to todo at least 50% of the exercises (measured in practice task points) to pass the course. There are totally 165 points behind exercises in Autumn 2024.
By returning the exercises alone, the course grade is determined according to the following table.
Exercises done | Number |
---|---|
< 50% | 0 |
>= 50% | 1 |
>= 70% | 2 |
>= 90% | 3 |
- Exercises are returned in the Jamk/IT GitLab with exact rules
- Each exercise has exact rules/task what student need to follow to complete exercise
Read more information: How to work with Exercises
Practice Work (optional)
Students deepens their knowledge by doing a small Web application which works in web browser. The results of the practice works are documented and presented in a seminar or with a recorded video, if student is participating in virtual studies.
Read more information: How to work with Practice Work
The course grade can be increased 0-2.
Course Evaluation
Course will be evaluated with exercises and practice work. Student needs to do at least 50% of exercises to pass the course. Practice Work is optional and it can give 0-2 more to student grade.
Participation in the course
Student need to start working within the first three weeks or student will be removed from the course participants.
eRPL Accreditation
You can apply for the accreditation of previously completed higher education studies or for the recognition of competence acquired in other ways (RPL) in Peppi.
Workload
Course will contain video lectures, exercises and optional practice work. There are no exact timetable to return exercises or practice work. All exercises and practice work will be evaluated when course ends or earlier if student wants credits graded.
- Video lectures: 15h
- Exercises: 80h
- Assignment: 40h
- Total: 135h
Note
It is good to do exercises at the same time as the lectures are running! Create your own timetable, when you are creating exercises. The final returning date is when the course ends.
Materials
All the course materials and exercises can be found in a below table and a left menu.
External material links
- Full Stack -ohjelmointi@JAMK/IT Finnish course materials
- the JavaScript Fundamentals 2018 ES6 for beginners
- The Modern JavaScript Tutorial
Schedule
Lab | Topics | Video | Duration |
---|---|---|---|
Course introduction. Introduction to JavaScript and web. The main goal is to learn the basics of JavaScript. | video | 01:07 | |
FSP0101 - Course introduction | video | 08:14 | |
FSP0102 - Exercises introduction | video | 05:58 | |
FSP0103 - Practice Work introduction | video | 05:56 | |
FSP0104 - Web introduction | video | 07:02 | |
FSP0105 - JavaScript - part 1 | video | 26:43 | |
FSP0106 - Exercise01: JavaScript basics 1 | video | 09:54 | |
Introduction to JavaScript continues. You will learn to use objects, create own classes and write a functions a few different ways. | video | 01:05 | |
FSP0201 - JavaScript - part 2 | video | 31:13 | |
FSP0202 - Exercise02: JavaScript basics 2 | video | 04:43 | |
Introduction to Document Object Model, DOM. You will learn how to modify your HTML document when it is visible in web browser. You will get basic understanding how to handle events with mouse and keyboard. | video | 00:55 | |
FSP0301 - DOM - Document Object Model | video | 49:05 | |
FSP0302 - Exercise03: DOM | video | 07:10 | |
Student will learn how to load and parse JSON data. You will understant how to handle Asynchronous Programming in JavaScript Fetch API. | video | 01:04 | |
FSP0401 - JSON, Promise and FetchAPI | video | 31:36 | |
FSP0402 - Exercise04: Load data from the Web | video | 07:51 | |
Node.js is an open-source and cross-platform JavaScript runtime environment. Node runs the V8 JavaScript engine outside of the browser - mostly used in the server side programming. Student will learn how to use JavaScript programming in server side. | video | 02:11 | |
FSP0501 - Node.js | video | 47:48 | |
FSP0502 - Exercise05: Node.js | video | 05:39 | |
Express is a free and open-source Node.js web application server framework which is specifically designed for the building a web applications. It is the most popular choice to building web applications with a Node.js. Student will learn to create routes/endpoints which are used in server side REST based application. | video | 01:25 | |
FSP0601 - Express.js | video | 45:32 | |
FSP0602 - Exercise06: Express.js | video | 08:25 | |
MongoDB is a document-oriented NoSQL database used for high volume data storage. MongoDB uses collections and documents, instead of tables and rows which are used in the traditional relation databases, like MySQL. Student will learn to use MongoDB Atlas Cloud from MongoDB Compass applicatoin and own made Node based application. | video | 02:14 | |
FSP0701 - MongoDB | video | 39:31 | |
FSP0702 - Exercise07: MongoDB | video | 12:56 | |
This demo describes the principles of creating a Full Stack Todo Application with Node.js and Express. User can add and delete todos. The todos are stored in the MongoDB database and are visible on the web page. | video | 01:28 | |
FSP0801 - FullStack Todo example app | video | 19:37 | |
FSP0802 - Exercise08: FullStack | video | 11:35 | |