Faculty Of Engıneerıng
Computer And Software Engıneerıng

Course Information

SOFTWARE LABORATORY
Code Semester Theoretical Practice National Credit ECTS Credit
Hour / Week
CSE232 Spring 2 3 3 3

Prerequisites and co-requisites None
Language of instruction English
Type Required
Level of Course Bachelor's
Lecturer Asst. Prof. Omid SHARIFI
Mode of Delivery Face to Face
Suggested Subject None
Professional practise ( internship ) None
Objectives of the Course To develop team working skills that are much needed in the software industry. Team work has been recognized as an important aspect of today's engineering education and is, as such, explicitly specified in the accreditation requirements for our program. To develop the communication skills of the students through presentations on theme topics. To obtain practical hands-on experience with a Model-Driven Development commercial tool for real-time object oriented systems, which generates code from high-level software models. This year we are using Rational Rose RealTime , which is a UML-based engineering tool, specifically optimized for developing complex event driven real-time software applications for various domains such as telecommunications, data communications, defense, aerospace and other industries.
Contents of the Course This course introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include modularity, specification, data abstraction, object modeling, design patterns, and testing. Students complete several programming projects of varying size, working individually and in groups.

Learning Outcomes of Course

# Learning Outcomes
1 At the end of the course, each student will have experienced all aspects of a software development project, including:
2 working with a client to define goals and priorities
3 designing a system
4 scheduling and planning a multi-person project
5 effective communications, running meetings
6 writing technical documentation, writing and testing code
7 deploying the system, public presentations

Course Syllabus

# Subjects Teaching Methods and Technics
1 Introduction Lecture, discussion, presentation
2 Object semantics Lecture, discussion, presentation
3 Subclassing Lecture, discussion, presentation
4 Specifications Lecture, discussion, presentation
5 Testing Lecture, discussion, presentation
6 Object model notations Lecture, discussion, presentation
7 Midterm Exam
8 Abstraction functions Lecture, discussion, presentation
9 Dependencies and decoupling Lecture, discussion, presentation
10 Polymorphism: guest lecture by Gilad Bracha Lecture, discussion, presentation
11 Subtypes and subclasses Lecture, discussion, presentation
12 Classes and interfaces Lecture, discussion, presentation
13 Usability, Design patterns, Managing a small software team Lecture, discussion, presentation
14
15
16 Final Exam Exam

Course Syllabus

# Material / Resources Information About Resources Reference / Recommended Resources

Method of Assessment

# Weight Work Type Work Title
1 40% Mid-Term Exam Mid-Term Exam
2 60% Final Exam Final Exam

Relationship between Learning Outcomes of Course and Program Outcomes

# Learning Outcomes Program Outcomes Method of Assessment
1 At the end of the course, each student will have experienced all aspects of a software development project, including: 4͵6͵10 1͵2
2 working with a client to define goals and priorities 4͵6͵10 1͵2
3 designing a system 4͵6͵10 1͵2
4 scheduling and planning a multi-person project 4͵6͵10 1͵2
5 effective communications, running meetings 4͵6͵10 1͵2
6 writing technical documentation, writing and testing code 4͵6͵10 1͵2
7 deploying the system, public presentations 4͵6͵10 1͵2
PS. The numbers, which are shown in the column Method of Assessment, presents the methods shown in the previous table, titled as Method of Assessment.

Work Load Details

# Type of Work Quantity Time (Hour) Work Load
1 Course Duration 14 5 70
2 Course Duration Except Class (Preliminary Study, Enhancement) 14 1 14
3 Presentation and Seminar Preparation 0 0 0
4 Web Research, Library and Archival Work 0 0 0
5 Document/Information Listing 0 0 0
6 Workshop 0 0 0
7 Preparation for Midterm Exam 1 2 2
8 Midterm Exam 1 1 1
9 Quiz 0 0 0
10 Homework 0 0 0
11 Midterm Project 0 0 0
12 Midterm Exercise 0 0 0
13 Final Project 0 0 0
14 Final Exercise 1 1 1
15 Preparation for Final Exam 1 1 1
16 Final Exam 1 1 1
  90