Óbuda University

John von Neumann Faculty of Informatics

/

Institute of Applied Informatics

Name and code: Software Engineering II. (NAIST2SEND)Credits: 4

Computer Engineering BSc (English language) 2017/18 year II. semester

Subject lecturers: Zsolt Miklós Szabó-Resch
Prerequisites (with code):
Weekly hours: / Lecture: 0 / Seminar.: 2 / Lab. hours: 2 / Consultation: 0
Way of assessment: / Practice project work & Practice tests

Course description:

Goal: Familiarize the students with the basic topics of Software Engineering, Advanced topics of C# programming
Course description: The course is split up into two parts. Advanced Programming (henceforth, HP) and Software Technology (henceforth, SZT)
Schedule
Week / Topic
1. / HP: Built-in delegates, anonymous methods, lambda expressions
SZT: Definition of expectations, GIT Branching, Project foundation
2. / HP: LINQ, XLINQ
SZT: Specification (Use Case, ER, Wireframe)
3. / HP: DBLINQ
SZT: Components (State Machine, Activity, Component, Package)
4. / HP: .NET DLL, Attributes, Reflection
SZT: Processes (Sequence, Communication, Class diagrams)
5 / HP: Unit tests
SZT: Beginning of development (Coding to Interfaces)
6. / HP: TEST #1
SZT: Beginning the development (Tests too!)
7. / HP: Using tests in the software development
SZT: Development methods in the practice
(For groups with 12 occasions, this is deleted)
8. / HP: Dynamic loading of DLLs, plugin-principle
SZT: Development, iterations, SCRUM
9. / HP: Process, Thread
SZT: Development, iterations
10. / HP: Task, Invoke, Lock
SZT: Development, executing unit tests, iterations
11. / HP: Thread Safety, interlocked
SZT: Integration tests, Project submission
12. / HP: TEST #2
SZT: Project presentation
13. / HP: RE-TEST
SZT: Project re-presentation
Mid-semester expectations
Attendance on the practices is obligatory.
The students will write two mid-semester tests (week 6 and 12).Writing the mid-semester tests is obligatory. If a student doesn’t write or doesn’t pass the mid-semester test, a re-test is possible on the last week. A re-test is also possible if a student wants to re-write one of the tests. In this case, it is always the re-test grade is taken into account.
If a student doesn’t have two passed tests at the end of the regular semester, a last re-test is possible in the exam season.
The students have to create a project work, that shows both the software engineering and the advanced programming skills:
- Documentation learned in the SZT part
- The expectations mentioned in the prog4_requirements document:
- Stylecop/Fxcop-valid code, Doxygen developer documentation
- Multi-user, multi-branch GIT repository (minimum a release branch + dev branch)
- Usage of a database + Entity Framework to access it
- Usage of LINQ
- WPF GUI, with data binding, preferably MVVM
- Layered architecture (minimum 3 sub-projects: GUI (view+viewmodel) + business logic DLL + data access DLL)
- Unit tests (typically for the logic and the VM classes)
The project work has to be submitted until 5/MAY 23:59. If the students fail to do so, an extended deadline can be requested until 12/MAY 23:59.If that deadline is not met, or the teacher doesn’t accept the quality of the project work or it doesn’t fulfil the bare minimum expectations listed above, then the team’s students will get a “Signature refused” entry, so they cannot do re-tests, not even in the exam season.
Tests
Week no. / Topic
6 / Test #1
12 / Test #2
13 / Re-Test
Creation of the grade
Mid-semester grade can only be given to a student who passed both tests and who submitted an accepted project work. The grade will be the average of the two test grades, modified by the project work.
There can be four different result for the project work:
-+1 grade, if the complexity and the implementation of the project work is above average, and the student took part with large amount of commits. The evaluation is done by taking into account the fullness, complexity, robustness, user friendliness and the code quality and complexity.
--1 grade, if the complexity or the implementation of the project work is below average, or the student took part with too few commits.
-All members will get a „Fail” grade if the project doesn’t comply with the specification (it doesn’t meet the functional requirements).
-“Signature refused” entry will be given to any student who participated in the team work with too few commits.
„Signature refused” entry will be given to any student who misses more than 30% of the practice sessions. (TVSZ 23.§).Also “Signature refused” entry will be given to any student who participated in the team work with too few commits.
„Failed” grade will be given to any student who doesn’t have the two successful practice tests or the project grade is “Fail”.
Every student gets a separate grade using the principles above. Any student with a “Signature refused” entry will not have the chance for any re-tests!
Re-tests
In a mid-semester re-test, one test can be rewritten.
In the exam season re-test, ALL PARTICIPANTS must solve a combined task. Presentation of the projects works will be done afterwards, if necessary.
Bibliography
Obligatory
Lab presentations, practice materials
Suggested:
Cormen, Leiserson, Rivest, Stein: Új algoritmusok, Scolar Kiadó, 2003
J. Sharp: Microsoft Visual C# 2005 lépésről lépésre, SZAK Kiadó, 2005
Kotsis et al.: Többnyelvű programozástechnika, PANEM, 2007
Other materials


2018. 09. 30.