• Full Stack Programming (TTC2080-3018),
         01.01.2023 – 20.05.2023,  5 cr — Face-to-face +-
    Learning outcomes of the course
    Purpose:
    After completing this course you 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.

    EUR-ACE Competences:
    Knowledge and Understanding
    Engineering Practice

    Learning outcomes:
    You know and understand the key tasks of both user interface programming performed by the web browser and server programming performed on the server as part of full stack programming. You know how to implement small web applications in which you use both user interface programming performed by the web browser and server programming performed on the server in the right roles.
    Prerequisites and co-requisites
    - basic skills in programming
    - basic skills in web publishing (HTML and CSS)
    - basic skills in database management
    Course contents
    - web browser as programming environment
    - JavaScript programming language
    - DOM structure and manipulations
    - HTML5 and JavaScript interfaces
    - web server environment
    - role of HTTP protocol in Full Stack programming
    - cookies, session management, authentication methods
    - utilization of external interfaces
    - data security issues
    - utilization of databases
    Assessment criteria
    Assessment criteria - grade 1 and 2
    Sufficient 1: You know the key building blocks of a Full Stack web application and the tools to create them. You are able to implement a simple Full Stack web application where the interface communicates with the server side.

    Satisfactory 2: You know how to design and build a Full Stack web application where the interface communicates with the server side utilizing a database on the server.
    Assessment criteria - grade 3 and 4
    Good 3: You are able to design and implement Full Stack web application containing a CRUD functionality where data security has been taken into account. You are able to document the architecture of the implementation and the building blocks for the most parts.

    Very good 4: You are able to design and implement such a Full Stack web application where the made choices have been justified. The implementation contains various user roles and authentication methods. You can purposefully synthesize such program libraries into the implementation that have not been directly introduced during the course.
    Assessment criteria - grade 5
    Excellent 5: Following good practices, you are able to design and implement such a Full Stack web application where the techniques introduced in the course have been extensively used and where the made choices are well justified. The implementation has been documented comprehensively and clearly. The application and the documentation are presented audio-visually. You are able to critically assess your own competence in the used solutions.

    Language of instruction
    English
    Finnish
    Location and time

    1.11.2023-15.12.2023
    Etäopiskelu (not translated)

    Planned learning activities, teaching methods and guidance

    Etäopiskelu (Videoluennot, omatoimiset harjoitukset, harjoitustyö) (not translated)

    Lecturer(s)

    Teemu Siikaniemi

    Learning materials and recommended literature

    Opintojakson verkkosivut (luentomateriaali, videoluennot, harjoitukset ja kotitehtävät) (not translated)

    Lecturer(s)

    Jouni Huotari

    Timing

    01.01.2023 - 20.05.2023

    Learning assignments and student workload

    Etäopiskelu 135 h (Videoluennot, omatoimiset harjoitukset ja harjoitustyö) Yhteensä 135 h (not translated)

    Degree Programme

    Bachelor's Degree Programme in Information and Communications Technology, Bachelor's Degree Programme in Information and Communications Technology

    Mode of delivery

    Face-to-face

    Credits
    • 5 cr
    Unit

    School of Technology