Full Stack Web Development (10 cr)
Code: 5G00DM05-3008
General information
Enrolment period
09.06.2024 - 08.09.2024
Timing
01.08.2024 - 22.12.2024
Credits
10 op
Mode of delivery
Contact teaching
Unit
Software Engineering
Campus
TAMK Main Campus
Teaching languages
- English
Seats
0 - 45
Degree programmes
- Bachelor's Degree Programme in Software Engineering
Teachers
- Teemu Heinimäki
- Tony Torp
Groups
-
22I260EA
-
22I260EBDegree Programme in Software Engineering
Objectives (course unit)
The student understands the concepts used in a full-stack web application. The student is able to develop both frontend and backend of the web application. The student can create authentication for a full-stack web application.
Content (course unit)
Responsive UI with HTML and CSS technologies. Frontend Web development with Javascript frameworks eg. React and Angular. Backend development with popular technologies eg. Node, Java. Using backend data repository. Implementation of authentication with e.g. JWT.
Prerequisites (course unit)
Programming languages 1-3, Basics of Web Development, Web Software Production
Assessment criteria, satisfactory (1-2) (course unit)
Student can implement an UI with HTML and CSS technologies. Student is able implement a simple frontend by using web development techniques with Javascript framework eg. React or Angular. Student is able to implement a simple backend with some popular technology eg. Node or Java. Student can use the backend as a simple data source for the application. Student knows about authentication possibilities for the application with e.g. JWT.
Assessment criteria, good (3-4) (course unit)
Student can implement a responsive UI with HTML and CSS technologies. Student is able to exploit frontend web development techniques with Javascript framework eg. React or Angular. Student is able to implement a backend with some popular technology eg. Node or Java. Student can use the backend as the data source for the application. Student is able to implement authentication for the application with e.g. JWT.
Assessment criteria, excellent (5) (course unit)
Student can implement versatile responsive UI with HTML and CSS technologies. Student is able to exploit various frontend web development techniques with Javascript framework eg. React or Angular. Student is able to implement a versatile backend with some popular technology eg. Node or Java. Student can use diversely the backend as the data source for the application. Student is able to implement a full authentication for the application with e.g. JWT.
Location and time
See the semester schedule (Moodle) and http://lukkarit.tamk.fi
Frontend part: both lectures/exercises at school and remote sessions.
Backend part: both lectures/exercises at school and remote sessions.
Exam schedules
No course exams. The evaluation is based on possible small tests, exercises, assignments, and such activities taking place during the course.
Assessment methods and criteria
FRONTEND PART: The assessment is based on the final overall number of points one can gather from a programming assignment, tests, homework exercises, and presentations and other lecture activities that are submitted or performed in time as instructed. Grading criteria: below 50%: 0, 50%–: 1, 60%–: 2, 70%–: 3, 80%–: 4, 90%–: 5. The programming assignment is mandatory – passing it is required in order to have a chance to pass the frontend part of the course. Also, participating in peer assessment as instructed may be required.
BACKEND PART: The grade, on a scale of 1-5, is evaluated based on the deadline. Homeworks: 30% (required), 60% (+1), 90% (+3). Project: Part 1 (required), Part 2 (+1), Part 3 (+2). The grade is automatically 1 if submitted after the deadline. To pass for grade 1, the following criteria must be met: Homeworks: 30% and Project Part 1.
Use of version control is mandatory. All files must be submitted through a GitHub repository (instructions provided in class). For homeworks, all commits must span a minimum of a 4-week period, and project files must have at least 40 commits.
WHOLE COURSE: Both parts of the course must be passed. The final grade is the arithmetic average of the grades of the individual parts of the course (rounded into an integer number as per usual).
Assessment scale
0-5
Teaching methods
Contact/remote lectures and exercises, self-study, problem-based learning, possibly working in groups.
Teaching is supported by course activities such as homeworks, practical works / course assignments, tests, peer assessment, and presentations.
N.B. Exercise submissions and such may be subjected to peer assessment/evaluation.
Learning materials
Internet material about course topics (such as React, Angular, Git Version Control, Databases, NodeJS, etc.) and lecture slides/notes.
Student workload
See the semester schedule. The planned average student workload is approximately 270 hours, distributed evenly over the first and second periods.
Completion alternatives
Contact the teachers for special arrangements.
Practical training and working life cooperation
Guest lectures are possible but not guaranteed.
Further information
Deadlines for grades 1–5:
Frontend part: the programming assignment deadline: 2024-11-03 (Week 44)
Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)
See Methods and grounds for evaluation.
FRONTEND PART:
– insufficient number of points gathered during the frontend part of the course,
– failure to submit the mandatory programming assignment in time or assess peer work as instructed, or
– programming assignment not fulfilling the minimum requirements.
BACKEND PART: Insufficient number or missing homework returns or assignments.
Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)
See Methods and grounds for evaluation.
Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)
See Methods and grounds for evaluation.
Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)
See Methods and grounds for evaluation.