| Course Title | Software Engineering |
| Course Code | ITEC316 |
| Type | Full Time |
| Semester | Fall/Spring |
| Category | AC (Area Core) |
| Workload | 210 Hours |
| EMU Credit | (3,0,1) 3 |
| Prerequisite | ITEC315 |
| Language | English |
| Level | Third Year |
| Teaching Format | 3 Hours Lecture and 1 Hour Tutorial per week |
| ECTS Credit | 7 |
| Course Web Site | http://staff.emu.edu.tr/husnubayramoglu |
| Instructor(s) | Asst.Prof.Dr. Hüsnü Bayramoğlu | Office Tel | +90 392 6302894 | |
| husnu.bayramoglu@emu.edu.tr | Office No | CT103 |
| Course Description |
| The aim of this course is to introduce some fundamental principles of software engineering discipline and illustrate the application of those principles in the context of the graduation project. Main topics covered are software process models, rapid software development and prototyping, software metrics, risk analysis and management, testing and quality assurance, software estimation techniques, software quality and configuration management. |
| General Learning Outcomes |
On successful completion of this course students should be able to:
|
| Teaching Methodology / Classroom Procedures |
|
| Course Materials / Main References |
Text Book: Pressman, Roger S., and Maxim, Bruce R., Software Engineering: A Practitioner's Approach. 8th ed., McGraw-Hill Education, 2015. ISBN: 978-0-07-802212-8 |
| Weekly Schedule / Summary of Topics | |
| Week 1 | The Nature of Software, Defining Software, The Changing Nature of Software: Web Apps, Mobile Apps, Cloud Computing |
| Week 2 | Defining Software Engineering, The Software Process, Software Engineering Practice, Software Development Myths Software Process Structure, Defining a Framework Activity, Process Assessment and Improvement |
| Week 3 |
Process Models: The Waterfall Model, Incremental Process Models, Evolutionary Process Models, Unified Process, Personal and Team Process Models Agile Development, Agility Principles, Extreme Programming, Other Agile Process Models
|
| Week 4 |
Human Aspects of Software Engineering, The Psychology of Software Engineering, Team Structures, Agile Teams |
| Week 5 |
Quality Concepts, Software Quality, Quality Assurance |
|
Week 6 | Review Techniques, Review Metrics and Their Use, Informal Reviews, Formal Technical Reviews |
| Week 7 |
Software Quality Assurance (SQA): SQA Tasks, Goals and Metrics, Statistical SQA, Software Reliability |
| Week 8-9 | Midterm Examinations |
| Week 10 |
Software Testing Strategy, Validation Testing, System Testing, The Art of Debugging |
| Week 11 |
Testing Conventional Applications, White-Box Testing, Black-Box Testing, Testing Object-Oriented Applications, Testing Web Applications, Testing MobileApps |
| Week 12 |
Software Engineering, Security Assurance, Security Risk Analysis |
| Week 13 |
Software Configuration Management (SCM), The SCM Repository, The SCM Process, Version Control |
| Week 14 |
Product Metrics, Measurement Principles, Metrics for Requirements Model, Metrics for Design Model |
|
Week 15 | Estimation for Software Projects, Resources, Decomposition Techniques Risk Management, Reactive vs. Proactive Strategies, Risk Identification, Risk Projection |
| Week 16-18 | Final Examinations |
| Requirements |
|
| Method of Assessment | |||
| Evaluation and Grading | Term Project | Midterm Exam | Final Exam |
| Percentage | 25 % | 35 % | 40 % |
| Grading Criteria * | |||||||||||
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
| 90 -100 | 85 - 89 | 80 - 84 | 75 - 79 | 70 - 74 | 65 - 69 | 60 - 64 | 56 - 59 | 53 - 55 | 50 - 52 | 40 - 49 | 0 - 39 |
* Letter grades will be decided upon after calculating the averages at the end of the semester and distribution of the averages will play a significant role in the evaluation of the letter grades.