Navigation

13S113PSI - Principles of Software Engineering

Course specification
Course title Principles of Software Engineering
Acronym 13S113PSI
Study programme Software Engineering
Module
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status mandatory
Condition none
The goal Introducing students to the basic concepts of software engineering. The course deals with various aspects of the software life cycle: specification, design, implementation, testing, maintenance, and basic elements of project management. Students are involved in a practical team project.
The outcome It is expected that the student upon passing this course, be able to: Demonstrate understanding, critical analysis, and application of existing theories, models, and techniques in the field of software engineering. To gain a sense of teamwork. To learn to work with modern tools that are actively used in the software industry during the development process.
Contents
URL to the subject page http://si3psi.etf.bg.ac.rs/
Contents of lectures Software life cycle models, agile methodologies, requirements engineering, software specification, software design and implementation, software testing techniques, software deployment and maintenance activities, application of the most popular software architectures in web system development, development effort and cost estimates, configuration management and changes, evolution, and reengineering.
Contents of exercises Practical exercises that illustrate the concepts and techniques covered in the lectures. Laboratory exercises that illustrate working with versioning tools, prototype development, code review, working with frameworks and libraries for web application development, implementation, and testing. A practical project of implementing a real software project through teamwork.
Literature
  1. Roger S. Pressman, Bruce R. Maxim, "Software Engineering: A Practitioner's Approach", 9th edition, McGraw-Hill Education, 2019. (Original title)
  2. Robert C. Martin, "Agile Software Development, Principles, Patterns, and Practices", Pearson, 2014. (Original title)
  3. Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford, "Patterns of Enterprise Application Architecture", Addison-Wesley Professional, 2002. (Original title)
  4. Chris Richardson, "Microservices Patterns: With examples in Java", Manning, 2019. (Original title)
  5. Ian Sommerville, "Engineering Software Products", Pearson, 2019. (Original title)
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, interactive exercises, laboratory exercises, a semester project (teamwork, 3-4 students, through several phases).
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 40
Practical lessons 0 Oral examination 0
Projects 40
Colloquia 20
Seminars 0