Server-Side Web Programming
Back
Course informations
Study program level |
Undergraduate |
Study program |
Computer Science |
Study program direction |
Software Engineering |
Course year |
2. |
Course semester |
IV |
Course status |
Core |
ECTS |
9 |
Lectures (h) |
15 |
Excercises (h) |
45 |
Seminars (h) |
- |
Course objectives
After completing this course, students will have a clear picture of the difference between the most commonly used programming languages (PHP, C #, Python, JavaScript, Ruby...), with emphasis on static and dynamic typing concepts, as well as functional and procedural approaches. The student must have a hands-on knowledge of at least one modern server MVC framework. It is expected that the student will know in detail the concepts of testing (unit, functional, acceptance, ...) It is necessary to know the concepts of dependency injection that can be demonstrated both in the design application itself and through the use of the selected DI container tool in a practical example. The student must know the basics of at least one agile development methodology (e.g. Scrum) and be able to apply it in practice on application development in terms of requirements analysis, functional specification design, sprint planning and estimation development, evaluation of workmanship and dynamics of project design, team work, etc.
Course outcomes
- Create simpler server applications from start to finish, including scaffolding, creating the basic project structure, communicating through appropriate object-relational mappers, applying advanced patch design splitting applications to presentation slides, business logic implementation, database access, and everything else as needed.
- Create a database design and implement a database that meets the needs of a server application
- Design and develop at least one non-veritable web application that demonstrates knowledge of the above-mentioned concepts, either individually or as part of a team, and is able to clearly explain and present the global architecture as well as the approach based on the implementation of all parts of the application.
- Write and run unit tests while achieving appropriate code coverage tests, using concepts such as spies, mocks, fakes, stubs, and using continuous integration tools.
- Make an analysis of the request.
Course content
Today's programming languages: PHP, C #, Python, JavaScript, and Ruby. MVC framework. Concept of dependency injection. Creating requirements analysis, testing applications.