DERS TANITIM BİLGİLERİ (İNGİLİZCE)
Course Information
Course
Name
Cod e
Semeste r
Theory
(hours/week
)
Application
(hours/week
)
Laboratuary
(hours/week
)
Nationa l Credit
ECT
S
Software
Construction
Prequisites
Course
Language
Course
Type
Mode of
Delivery
(face to face, distance learning)
Learning and
Teaching
Strategies
SE
460
2 3
SE332
English
Technical Elective
Face to Face
Lecture
3 5
Instructor(s
)
Course
Objective
Learning
Outcomes
Course
Content
The objective of this course is to cover the software construction referring the detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging.
Manage and assess complexity in software construction
Use specific techniques to anticipate change in software construction
Explain techniques for support constructing for verification
Explain essentials of standards in software construction
Explain construction models and their differences
Plan software construction
Collect measurements during software construction
Use construction languages
Manage software construction coding
Administer software construction tests
Reuse already existing codes and libraries
Explain the issues to ensure the quality of software construction
Software construction fundamentals. Software complexity. Construction management. Construction models. Construction planning. Software measurement.
Construction Languages. Coding. Construction Testing. Reuse. Verification and standards in construction. Construction quality. Integration
References Course Book
1. Week
2. Week
3. Week
4. Week
5. Week
6. Week
7. Week
8. Week
9. Week
10. Week
11. Week
12. Week
13. Week
14. Week
15. Week
16. Week
Extreme Programming Explained: Embrace Change, K. Beck, Addison-Wesley,
1999, Chap. 10, 12, 15, 16-18, 21.
Other Sources
Sommerville, Software Engineering, seventh ed., Addison-Wesley, 2005.
J. Bentley, Programming Pearls, second ed., Addison-Wesley, 2000, Chap. 2-
4, 6-11, 13, 14, pp. 175-176.
Hunt and D. Thomas, The Pragmatic Programmer, Addison-Wesley, 2000,
Chap. 7, 8 12, 14-21, 23, 33, 34, 36-40, 42, 43.
IEEE Std 1517-1999, IEEE Standard for Information Technology-Software Life
Cycle Processes- Reuse Processes, IEEE, 1999.
IEEE/EIA 12207.0-1996//ISO/IEC12207:1995, Industry Implementation of Int.
Std. ISO/IEC 12207:95, Standard for Information Technology- Software Life
Cycle Processes, IEEE, 1996.
B.W. Kernighan and R. Pike, The Practice of Programming, Addison-Wesley,
1999, Chap. 2, 3, 5, 6, 9.
S. Maguire, Writing Solid Code: Microsoft’s Techniques for Developing Bug-
Free C Software, Microsoft Press, 1993, Chap. 2-7.
S. McConnell, Code Complete: A Practical Handbook of Software
Construction, Microsoft Press, second ed., 2004.
A Software Engineering Body of Knowledge, Thomas B. Hilburn, Iraj
Hirmanpour, Soheil Khajenoori, Richard Turner, Abir Quasem; Latest Edition.,
2004
Object-Oriented Software Construction (Book/CD-ROM), 2nd Edition, By
Bertrand Meyer, Published by Prentice Hall PTR, 2000
An Introduction to Programming and Object Oriented Design Using Java, by
Jaime Niño, Frederick A. Hosch, J. Nino, F. Hosch, 2003
Weekly Course Outline
Weeks Topics
Minimizing Complexity
Anticipating Change
Construction for Verification
Standards in Construction
Construction Models
Construction Management
Construction Planning
Construction Measurement
Construction Design
Construction Languages
Coding
Construction Testing
Reuse
Construction Quality
Integration
Final Exam
Pre-study
Chapter 1, 2,3, other sources 9
Chapter 1, 2,3, other sources 9
Chapter 1, 2,3, other sources 9 other sources 1 other sources 1
Chapter 12
Chapter 15
Other sources 9
Chapter 17
Chapter 16
Chapter 16
Chapter 18 other sources 9 other sources 9 other sources 9
Assesment Methods
Course Activities
Attendance
Laboratory
Application
In-class Activity
Specific Practical Training (if any)
Assignments
Presentation
Projects
Seminars
Midterms
Final Exam
Total
Percentage of semester activities contributing grade success
Percentage of final exam contributing grade success
Total
Number
3
2
1
Workload and ECTS Calculation
Activities
Course Duration (x14)
Laboratory
Application
Specific practical training (if any)
Field Activities
Study Hours Out of Class (Preliminary work, reinforcement, ect)
Presentation / Seminar Preparation
Projects
Homework assignment
Midterms ( Study duration )
Final ( Study duration )
Total Workload
Number Duration
(Hours)
16 3
16
3
2
1
3
7
10
15
Percentage %
48
48
21
10
15
152
15
5
40
40
100
60
40
100
Total Work Load
Matrix of the Course Learning Outcomes Versus Program Outcomes
Program Outcomes Contribution Level*
1 2 3 4 5
X 1 An ability to apply knowledge of computing, sciences and
mathematics to solve software engineering problems.
2 An ability to analyze and model a domain specific problem, identify and define the appropriate software requirements for its
solution.
3 An ability to design, implement and evaluate a software system,
component, process or program to meet specified requirements.
4 An ability to use the modern techniques and engineering tools
necessary for software engineering practices.
5 An ability to gather/acquire, analyze and interpret data to
understand software requirements.
6 The ability to demonstrate the necessary organizational and business skills to work effectively in inter/inner disciplinary
teams or individually.
7 An ability to communicate effectively in Turkish and English.
8 Recognition of the need for, and the ability to access information, to follow recent developments in science and
technology and to engage in life-long learning.
9 An understanding of professional, legal, ethical and social issues
and responsibilities.
10 Skills in project and risk management, awareness about importance of entrepreneurship, innovation and long-term development, and recognition of international standards and
methodologies.
11 An understanding about the impact of software engineering
solutions in a global societal and legal context.
12 An ability to apply algorithmic principles, mathematical foundations, and computer science theory in the modeling and design of computer-based systems with the tradeoffs involved in
design choices.
13 The ability to apply engineering approach to the development of software systems by analyzing, designing, implementing,
verifying, validating and maintaining software systems.
1: Lowest, 2: Low, 3: Average, 4: High, 5: Highest
X
X
X
X
X
X