Upon successful completion of the course, the student is able to solve customer problems through his/her software development skills. The student understands and is able to define customer needs and requirements, and s/he is able to utilize proper software solutions. The student is able to develop independently his/her competence in learning and discussing new technologies. The student is able to assess and select the proper technologies and approaches to solving the problem. The student is capable of taking responsibility for implementing designated tasks. The student is able to share the developed competence with other team members. As a member of a team, the student is responsible for implementing production-level software solutions for customer needs and requirements.
Pre-requisites
Student has good object-oriented programming, web programming and database skills. Student is ready for independent teamwork and information seeking.
Data Management and Databases (SWD4TF003)
Server Programming (SWD4TF021)
Front End Development (SWD4TF022)
The course operates like a genuine software company, from whom a client orders software solutions for real needs.
The students
1. Study customer needs
2. Define and plan the solution
3. Determine with the customer the selected technologies that are considered an appropriate solution to the problem
4. Develop the working software solution at a near production level
5. Evaluate the results and plan the future improvements
Course evaluation is based on group work, the functionality of the final outcomes, and peer review that evaluates individual and group contribution.
Assessment components and their respective weights:
- Activity, Responsibility, and attitude in the project 50-60% (including coming to work in time, focus, contribution to team efficiency). Outstanding contribution might lead into a 10% extra bonus.
- Examination 40-50%
Knowledge
The student can identify, list and combine the main theoretical concepts related to the course contents.
Skills
With great difficulty and under strict supervision, the student partly or poorly works as a team member in software projects using relevant tools and technology at beginner’s level.
Competence
With great difficulty and under strict supervision, the student can cooperate with the actual developers, e.g. in a testing team. S/he can poorly apply problem identification, analysis and solving to software projects.
The student participates insufficiently to the group work. In the final peer review, student superficially defines his/her roles in the project. The group's outcomes do not meet the initial purpose, and cooperation with the customer is weak.
Knowledge
The student can describe the relevant concepts and apply them to new contexts.
Skills
The student can work as a team member in software projects developing a working system.
Competence
The student can cooperate with the actual developers, e.g. in an assisting role. S/he can apply problem identification, analysis and solving to software projects.
The student participates actively in the group work. S/he helps the implementation, but does not take a big responsibility for any topic in the subject area. In the peer review, the student evaluates his/her roles sufficiently, but has not expressed in depth comparison or shows her/his analyzing capabilities. The group's outcomes serve the purpose partially, and cooperation with the customer is moderate.
Knowledge
The student uses and combines different theories to present own models. Student is aware of other views of the knowledge. His/her use of theory and specific terminology is very accurate. S/he uses findings to compare different theories and viewpoints.
Skills
The student can collect, analyze and use relevant technologies to create systems.
Competence
The student can work very professionally with a client company in a team. S/he can fully apply problem identification, analysis and solving to software development.
The student participates actively in the group work. S/he takes the lead in one or more area in the project. S/he can recommend methods and technologies for group use. In the final peer review, the student analyzes his/her own and group performances thoroughly and analytically. S/he is able to analyze what has been done well and where it could have been done better. The group’s outcomes serve the purpose very well, and cooperation with the customer was excellent.