BÄ°L640 - SOFTWARE DEVELOPMENT FOR REAL-TIME SYSTEMS

Course Name Code Semester Theory
(hours/week)
Application
(hours/week)
Credit ECTS
SOFTWARE DEVELOPMENT FOR REAL-TIME SYSTEMS BÄ°L640 Any Semester/Year 3 0 3 8
Prequisites
Course languageTurkish
Course typeElective 
Mode of DeliveryFace-to-Face 
Learning and teaching strategiesLecture
Preparing and/or Presenting Reports
Project Design/Management
 
Instructor (s)Department Responsible (bbm-bologna@cs.hacettepe.edu.tr) 
Course objectiveTo teach how to develop software for realtime systems 
Learning outcomes
  1. 1. Students will be able to define basic concepts of realtime systems. 2. Students will be able to use a software development tool. 3. Students will be able to develop software for realtime systems. 4. Students will be able to conduct research on realtime systems.
Course ContentThe basic consepts of realtime systems, realtime operating systems, software development methods for realtime systems, realtime UML, realtime design patterns, examples of target platforms and realtime operating systems.  
ReferencesGomaa, Hassan. (1993). Software Design Methods for Concurrent and Real-Time Systems. Addison-Wesley

Liu, Jane W.S. (2000). Real-Time Systems. Prentice-Hall Inc.

Douglass, Bruce Powel. (2000). Real-Time UML. Requirements Engineering: Processes and Techniques. Addison-Wesley.
 

Course outline weekly

WeeksTopics
Week 1Basic concepts of realtime systems
Week 2Realtime operating systems
Week 3Software development methods for realtime systems
Week 4Realtime UML
Week 5Realtime design patterns
Week 6Project I
Week 7Examples of target platforms and realtime operating systems
Week 8Case study
Week 9Case study (continued)
Week 10Case study (continued)
Week 11Project II
Week 12Research presentations
Week 13Research presentations
Week 14Research presentations
Week 15Final exam preparation
Week 16Final exam

Assesment methods

Course activitiesNumberPercentage
Attendance1410
Laboratory00
Application00
Field activities00
Specific practical training00
Assignments00
Presentation00
Project225
Seminar115
Midterms00
Final exam150
Total100
Percentage of semester activities contributing grade succes050
Percentage of final exam contributing grade succes050
Total100

WORKLOAD AND ECTS CALCULATION

Activities Number Duration (hour) Total Work Load
Course Duration (x14) 14 3 42
Laboratory 0 0 0
Application000
Specific practical training000
Field activities000
Study Hours Out of Class (Preliminary work, reinforcement, ect)9545
Presentation / Seminar Preparation13030
Project000
Homework assignment250100
Midterms (Study duration)000
Final Exam (Study duration) 12020
Total Workload27108237

Matrix Of The Course Learning Outcomes Versus Program Outcomes

D.9. Key Learning OutcomesContrubition level*
12345
1. Graduates should have a mastery of computer science as described by the core of the Body of Knowledge.   X 
2. Graduates need understanding of a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency.   X  
3. Graduates of a computer science program need to understand how theory and practice influence each other.  X  
4. Graduates need to think at multiple levels of detail and abstraction.    X 
5. Students will be able to think critically, creatively and identify problems in their research.    X
6. Graduates should have been involved in at least one substantial project.     X
7. Graduates should realize that the computing field advances at a rapid pace.   X  
8. Graduates should conduct research in an ethical and responsible manner.  X   
9. Graduates should have good command of technical terms in both Turkish and English. X   
10. Graduates should understand the full range of opportunities available in computing.    X
11. Graduates should understand that computing interacts with many different domains.     X
12. Graduates should develop the knowledge acquired at master level and apply scientific methods in order to solve scientific problems.    X 

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest