Web apps, design patterns in web apps, development tools and version control systems, Spring framework, dependency injection, MVC, Junit, hibernate ORM, spring+hibernate integration, Middleware ve HTTP protocol, HTTP Protocol, Spring controllers, spring filters, REST APIs, HTML, CSS, Javascript, and jquery, ajax. The teaching methods of the course include lectures, group work, technology-assisted learning, project preparation, and practice.
|
Week |
Subject |
Related Preparation |
1) |
Introduction + background: historical perspective, what is a web app?, intro to design patterns in web apps, development tools and version control systems
|
|
2) |
Java recap and introduction to the Spring Framework: spring components used in web applications, dependency injection, MVC, Junit unit testing
|
|
3) |
Database Interactions and the hibernate ORM: Relational databases, ORM concept, integration of spring+hibernate
|
|
4) |
Middleware and the HTTP protocol: Application servers, HTTP Protocol, HTTP Requests, HTTP Responses, Sessions and cookies, Spring controllers, spring filters, REST APIs and content types
|
|
5) |
Presentation Layer and User interfaces: HTML, CSS, Javascript and jquery, Spring views and template engines, ajax
|
|
6) |
MidTerm
|
|
7) |
applied project (blog engine) iteration 1: General requirements of the application, user interface design, stories for registration and login, discussion about the design of the features, source code management and deployment/development environment discussions.
|
|
8) |
applied project (blog engine) iteration 2 / Demo and retrospective of iteration 1, stories for composing a blog post, displaying a blog post
|
|
9) |
applied project (blog engine) iteration 3: Demo of iteration 2 and retro. Stories for updating a blog post and deleting a blog post.
|
|
10) |
applied project (blog engine) iteration 4: Demo of iteration 3. Stories for adding, removing tags to a post
|
|
11) |
applied project (blog engine) iteration 5: Demo of iteration 4. Stories for posting, updating, deleting comments for a post.
|
|
12) |
applied project (blog engine) iteration 6: Demo of iteration 5. Stories for adding analytics for the blog engine.
|
|
13) |
Final project presentations
|
|
14) |
Final project presentations
|
|
|
Program Outcomes |
Level of Contribution |
1) |
Comprehend the conceptual importance of the game in the field of communication, ability to implement the player centered application to provide design. |
|
2) |
Analyze, synthesize, and evaluate information and ideas from various perspectives. |
|
3) |
Analyze the key elements that make up specific game genres, forms of interactions, mode of narratives and understand how they are employed effectively to create a successful game. |
|
4) |
Understand game design theories and methods as well as implement them during game development; to make enjoyable, attractive, instructional and immersive according to the target audience. |
|
5) |
Understand the technology and computational principles involved in developing games and master the use of game engines. |
|
6) |
Understand the process of creation and use of 2D and 3D assets and animation for video games. |
|
7) |
Understand and master the theories and methodologies of understanding and measuring player experience and utilize them during game development process. |
|
8) |
Comprehend and master how ideas, concepts and topics are conveyed via games followed by the utilization of these aspects during the development process. |
|
9) |
Manage the game design and development process employing complete documentation; following the full game production pipeline via documentation. |
|
10) |
Understand and employ the structure and work modes of game development teams; comprehend the responsibilities of team members and collaborations between them while utilizing this knowledge in practice. |
|
11) |
Understand the process of game publishing within industry standards besides development and utilize this knowledge practice. |
|
12) |
Pitching a video game to developers, publishers, and players; mastering the art of effectively communicating and marketing the features and commercial potential of new ideas, concepts or games. |
|