Course detail
Creative coding 3
FaVU-KREAP3Acad. year: 2023/2024
The course will practically introduce students to the creation of a web application from its inception to online launch, i.e. from domain registration to code deployment in the cloud or on a virtual server. In this process, the learner will theoretically and practically get acquainted with working with SQL and NoSQL databases, programming handlers for GET, POST and other HTTP requests, creating HTML pages with CSS and JavaScript communicating with the backend server or serverless functions and more.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Entry knowledge
Creative Coding 1, or slightly more advanced programming knowledge, basic understanding of HTML, CSS, JavaScript.
Rules for evaluation and completion of the course
Credit is awarded for the semester project: authoring a web application.
Classes are held in the classrooms of the BUT FaVU in the hours determined by the timetable. Attendance is compulsory (5 unexcused absences allowed). Higher number of absences can be compensated by submitting an alternative assignment after agreement with the lecturers.
Aims
The aim of the course is to introduce students practically and theoretically with the creation of complex serverless web applications in the whole process (domain registration - deployment) and scope (backend - frontend), the teaching is devoted to the issues of DNS, domain registration, HTTP and HTTPS protocols, creation of serverless functions in Python, communication with databases, the necessary knowledge of HTML5, CSS and JavaScript, code organization, version management and deployment of code into production. Over the course of the semester, learners will go through the entire process, from registering a domain to delivering code to production, to updating it afterwards - on their own individual or team project.
By completing the course, students will learn about the creation of a complex serverless web application throughout its creation (domain registration - deployment) and its entire technological scope (backend - frontend). They will understand DNS, domain registration, HTTP and HTTPS protocols, creating serverless functions in Python, communication with SQL and NoSQL databases, improve and practically use their knowledge of HTML5, CSS and JavaScript. They will learn how to organize code in a project, manage its versions using Git and share it on GitHub or GitLab, automate its deployment in the cloud or on a VPS. By graduating, they will gain the ability to develop their own web application, a competence suitable for further authoring practice in the field of web art, web design or full-stack web development.
Study aids
Prerequisites and corequisites
Basic literature
TARNOFF, Ben, 2022. Internet for the People: The Fight for Our Digital Future. London: Verso. ISBN 9781804290392.
Recommended reading
Classification of course in study plans
- Programme DES_B Bachelor's 3 year of study, summer semester, elective
- Programme VUB Bachelor's
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-D , 2 year of study, summer semester, elective
branch VU-D , 3 year of study, summer semester, elective
branch VU-D , 4 year of study, summer semester, elective
branch VU-D , 2 year of study, summer semester, elective
branch VU-D , 3 year of study, summer semester, elective
branch VU-D , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-VT , 2 year of study, summer semester, elective
branch VU-VT , 3 year of study, summer semester, elective
branch VU-VT , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
branch VU-D , 2 year of study, summer semester, elective
branch VU-D , 3 year of study, summer semester, elective
branch VU-D , 4 year of study, summer semester, elective
branch VU-IDT , 2 year of study, summer semester, elective
branch VU-IDT , 3 year of study, summer semester, elective
branch VU-IDT , 4 year of study, summer semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Introduction to the course, introduction of possible architectures for web applications
- Domain - introduction to IPv4/6 and DNS, domain registration, editing DNS data, introduction to Git, launching a simple static website on your own domain using Github pages.
- Static website - introduction to the Hugo framework for building a static website from templates, a light review of HTML5 and CSS, running a Hugo project on a domain, adding automatic builds.
- HTTP Requests - introduction to HTTP requests, GET, POST and response requests, practice on a local web server using the Tornado module.
- Serverless Functions - creating serverless functions on AWS or DO functions, getting familiar with the specifics, pros and cons of the solution, deploying a simple function - custom API endpoint.
- Databases - difference between SQL, NoSQL and graph databases. Familiarity with SQLite Python modules and SQL architecture, familiarity with MongoDB module and architecture, connecting to database, creating document, adding records, reading, changing records.
- -13: Other topics by consensus of learners. Consultation and debugging of semester projects.