Lecture 01.1 Introduction To Website Development
Lecture 01.1 Introduction To Website Development
Lecture 01
Basic Course Information
ECTS 7
Duration 16 Weeks
● Modularity
○ Powerful interface construct, functional programing support, microservice development
● Maintainability
○ Simple and readable syntax, code formatting and documentation support, testing
support, modern packaging system
● High Performance
○ Concurrency support that allows multiple requests to be processed at the same time
Assessments
● Quizzes during lecture and lab time (10 %)
● Assignments (10 %)
● Project
○ First Round Evaluation (Formative) - to give you feedback (20 %)
○ The Project title (use specific name related to the problem, do not use Web Programming
I project or similar generic names)
○ You need to
respect Kanban
principles
Project Requirements
● Application feature documentation format
○ As a < type of user/role >, I want < some goal > so that < some reason/benefit >
○ Acceptance Criteria
Project Requirements
● User Story Example
Description:
As a Customer, I need to place an order so that I can have food delivered to my house
Acceptance Criteria:
Functional:
● Can I see a running total of the cost of what I have chosen so far?
Project Requirements
● User Story Example
As a Customer, I need to place an order so that I can have food delivered to my house
Acceptance Criteria:
Non-functional: Availability:
● Can I place an order at any time (24 hours per day or 24/7/365)?
● Can I view the order at any time (24 hours per day or 24/7/365) up to and including
delivery?
Project Requirements
● User Story Example
As a Customer, I need to place an order so that I can have food delivered to my house
Acceptance Criteria:
Non-functional: Security:
● Are unauthorised persons and other customers prevented from viewing my order?
Project Requirements
● User Story Example
As a Customer, I need to place an order so that I can have food delivered to my house
Acceptance Criteria:
Non-functional: Security:
● Are unauthorised persons and other customers prevented from viewing my order?
Course Content
● Week 2- Introducing Go
○ Packages, variables, and functions
● Week 3- Introducing Go
○ Structs, slices, and maps
○ Concurrency
Course Content
● Week 4 - Using Go for Web Application
● Week 5 - HTTP Request/Response
● Week 6 and 7- Templating and Routing
● Week 8 and 9 - Data persistency
● Week 10 - Web Services
● Week 11 - Securing Web Application
● Week 12 - Testing Web Application
Course Content
● Week 13 - Concurrency for Performance Improvement
● Week 14 - Internationalization and Localization
● Week 15 - Middleware and Frameworks
● Week 16 - Deployment Options
Resources
● For Go
○ A Tour of Go (https://tour.golang.org/)
○ Effective Go (https://golang.org/doc/effective_go.html)