1. Course Title | Software development and testing | |||||||
2. Code | 4ФЕИТ07З021 | |||||||
3. Study program | КТИ | |||||||
4. Organizer of the study program (unit, institute, department) | Faculty of Electrical Engineering and Information Technologies | |||||||
5. Degree (first, second, third cycle) | First cycle | |||||||
6. Academic year/semester | IV/7 | 7. Number of ECTS credits | 6 | |||||
8. Lecturer | D-r Marija Kalendar | |||||||
9. Course Prerequisites | Passed: Data modeling and database systems, Data structures and algorithm analysis | |||||||
10. Course Goals (acquired competencies): Introduction to concepts of software development and working in teams. Learning the process of software solutions design and delivery to the client. Testing and reliability concepts. Upon completion the student will have the competencies to: know and use elements for designing (complex) software solutions; have basic knowledge for writing feasibility studies for software development; to work in a team for designing and developing (complex) software solutions; know and use the elements for testing and providing quality software; know the basics and provide reliability and support in the development of software solutions. |
||||||||
11. Course Syllabus: Software design and development. Introduction. Concepts of software design and building. Overview of software projects. Processes and methods for software development. Feasibility studies. Project management. Requirements and requirements analysis. User experience. System design: architecture, security, performance. System development: models for design, development, reuse and design templates. Documenting code. Organizing projects and working with teams. Code versioning. Reliability and testing. Debugging without tools (debuggers). Generating tests. Bugs detection. Monitoring and deployment. Code isolation. Black box concept and static code analysis. Templates. Dynamic analysis. Implement, test and troubleshoot. |
||||||||
12. Learning methods: Lectures, Auditory and Laboratory exercises | ||||||||
13. Total number of course hours | 2 + 2 + 1 + 0 | |||||||
14. Distribution of course hours | 180 | |||||||
15. Forms of teaching | 15.1. Lectures-theoretical teaching | 30 | ||||||
15.2. Exercises (laboratory, practice classes), seminars, teamwork | 45 | |||||||
16. Other course activities | 16.1. Projects, seminar papers | 40 | ||||||
16.2. Individual tasks | 20 | |||||||
16.3. Homework and self-learning | 45 | |||||||
17. Grading | 17.1. Exams | 0 | ||||||
17.2. Seminar work/project (presentation: written and oral) | 50 | |||||||
17.3. Activity and participation | 10 | |||||||
17.4. Final exam | 40 | |||||||
18. Grading criteria (points) | up to 50 points | 5 (five) (F) | ||||||
from 51to 60 points | 6 (six) (E) | |||||||
from 61to 70 points | 7 (seven) (D) | |||||||
from 71to 80 points | 8 (eight) (C) | |||||||
from 81to 90 points | 9 (nine) (B) | |||||||
from 91to 100 points | 10 (ten) (A) | |||||||
19. Conditions for acquiring teacher’s signature and for taking final exam | Laboratory exercises | |||||||
20. Forms of assessment | The exam consists of two parts (Can be completed as two partial exams): First partial exam – theoretical part: Test questions and problems (70 min) and Second partial exam – practical part: Finishing a practical team project. The use of books, scripts, manuscripts or notes is partially allowed during the exam, but the use of calculators, mobile phones, tablets or any other electronic devices is not allowed. |
|||||||
21. Language | Macedonian and English | |||||||
22. Method of monitoring of teaching quality | Internal evaluation and surveys | |||||||
23. Literature | ||||||||
23.1. Required Literature | ||||||||
No. | Author | Title | Publisher | Year | ||||
1 | Roger Pressman, Bruce Maxim | Software Engineering: A Practitioner’s Approach 9th Ed. | McGraw-Hill Education | 2019 | ||||
2 | Ian Sommerville | Software Engineering 10th Ed. | Pearson | 2015 | ||||
3 | Paul C. Jorgensen, Byron DeVries | Software Testing: A Craftsman’s Approach, 5th Ed. | Auerbach Publications | 2021 | ||||
23.2. Additional Literature | ||||||||
No. | Author | Title | Publisher | Year | ||||
1 | S.J.Metsker, W.C Wake | Design Patterns in Java, 2nd Ed. | Addison-Wesley Professional | 2006 | ||||
2 | JJ Shen | Software Testing: Techniques, Principles, and Practices | Independently published | 2021 |