COURSE SYLLABUS
CPCS 351
Software Engineering
Fall Semester 2011
COURSE PERSONNEL:
Lead Instructor: Dr. Arwa A. Jamjoom
Office:
Phone:
Email:
Office Hours: ajamjoom@kau.edu.sa
Sun & Tue (12:30pm – 1:30pm) or by appointment
Teaching Assistant: Asma Memoon
PREREQUISITE:
CSCS204
COURSE MATERIALS:
Required textbook:
Object-Oriented Software Engineering, Practical Software
Development Using UML and Java, 2 nd
Edition, by Timothy C.
Lethbridge and Robert Laganière. McGraw-Hill, New York.
Reference/optional books:
System analysis and design, 6th Ed. Kendall and Kendall,2005
C. Ghezzi, M. Jazayri, and Mandrioli, “Fundamentals of Software
Engineering”, 2nd Edition, 2002. Prentice Hall, ISBN 010133056996
Other resources:
On-line resources. Will be posted on the course group
COURSE DESCRIPTION:
In previous courses in computer science you were taught how to write code given a specific design and set of specifications. In this course, you will learn to develop those designs and specifications and the formal methods used. This course covers the main
concepts of software engineering. It gives an introduction to methods for analysis, design, testing, and implementation of large size software systems.
The course will cover most of the chapters. However the student is encouraged to read all of the chapters. Time does not permit us to cover all topics in this book in just one semester. It is particularly important that the student place a great deal of emphasis in understanding the different design models and the sections covering requirements analysis and system specification. As it turns out, developing a complete set of requirements and specifications is one of the more difficult and critical tasks in software engineering.
During the course of this term the students will be involved with a real problem solving/software development situation. Students will be required to gather functional requirements, identify the problem, form a solution and present this solution to a prospective customer. Simple and realistic case studies will be used along all the software process steps.
COURSE OBJECTIVES:
This course is intended to provide an introduction to SE concepts and practices focusing on industrial software development characteristics and processes, development models, and the software life cycle for mid-scale system. The course includes use of CASE tools and environments. Teamwork aspects typical of large-scale software development are emphasized throughout the course and exercised via group projects.
provide students a comprehensive introduction to software engineering.
provide the students the kinds of activities that are necessary for production of system
study the important phases of software development
LEARNING OUTCOMES
Knowledge and understanding. On successful completion of this course, students will be able to: o Understand a wide range of principles and tools available to the software engineer such as specification, design, coding and testing methodologies, and user interface techniques.
Cognitive skills (thinking and analysis). o Design software systems of mid size through academic and realistic case studies (tutorials).
ON-CAMPUS STUDENTS:
Activity
Lectures
Day Time
Sunday – Tuesday 9:30am – 11am
Location
1135 (7)
Lab
COURSE SCHEDULE:
Week
Tuesday
Topic
12:30pm – 2pm L04B
Reading assessment
Chapter 1
Homework
1
2-3
3-4
5-6
7-8
9
10-11
Course regulations
Introduction to Software Engineering
The principles of object orientation
Developing requirements
Modeling with classes
Modeling interactions and behavior
Architecting and designing software
Testing
Chapter 2
Chapter 4
Chapter 5
Chapter 8
Chapter 9
Chapter 10
11-12
13
COURSE POLICIES:
Project management Chapter 11
Readings . when a chapter from the book assigned, you are responsible for reading it and completing any assigned exercises.
GRADING/EVALUATION:
Choose groups and project topic
Midterm
Exam 1
Midterm
Exam 2
The overall grade is a calculation of the percentage of points from participation, homework, short reports, presentations, short research projects, and exams. The group project will have both a project grade and individual grade based upon the quality and participation of each student in the project. You will be graded on your individual work.
Even though these projects will be combined into a single piece of work it is important that you not rely on others to bring your grade up in an overall project. You each will be assigned a specific task to perform and will graded on the quality of that task.
Homework . You will periodically receive homework assignments that are to be turned in and will be graded. Assignments and their due dates will be announced in the class.
Late Homework . Check below
Quizzes.
You will be given a few short quizzes at the beginning of class throughout the semester. The quizzes will typically be announced and it will be on topics in previous couple of lectures and assigned reading materials.
Project.
Problem solving techniques and skills needed in Software Engineering can only be acquired through practice. Therefore, the significant term project constitutes a very important integral part of the course.
The details of the project will be handed out in class. Students will be expected to work in teams of three or four to complete the project. However, 15% of the project mark will be assigned depending on the individual contribution of each student.
There will be numerous project deliverables deadlines. No extensions will normally be granted for any deadline. If an extension were to be granted for one deliverable then it will be harder for you to achieve the next one. Before long things will snowball and you’ll find it hard to achieve the course objectives.
Everyone on each team must participate in the work required for each presentation in order to get credit for that presentation. “Participation” includes help in the preparation of the technical information, developing the presentation slides, or review/critique the work before it is published/presented.
Each person on a team must present at least part of one of the presentations—it will be up to the team to determine who presents which parts.
For each review, each person on a team shall also provide an assessment of all of the team members’ participation in the preparation for the review. Each person should include an assessment of their own participation as well as the other members on the team. This assessment should list all of the team members and indicate the % each contributed to the development/review of the presentation materials. The team member contributions might include the technical work, preparing the slides for presentation, or reviewing/critiquing the work before publication/presentation. For example, if there are 5 members on the team and all contributed equally, then the assessment report would indicate 20% participation for each member.
Time spent on class project shall be tracked using the project timesheet, The
Microsoft Project software (for developing and maintaining project schedules).
Cheating and plagiarism WILL NOT BE TOLERATED. If a student is found cheating or plagiarizing material written by someone else (including information posted on websites), that student will fail this course.
Project tasks can be very time consuming. Start early and budget sufficient time for completion.
If you are having problems with the assignments or tests, contact the instructor as soon as possible. It will NOT be possible to earn extra credit to improve a poor grade at the end of the semester.
The following early/late submission policy will be applied:
Deliverable submitted more than 24 hours earlier – the mark earned is increased by 10%.
Deliverable submitted up to 24 hours later – the mark earned is decreased by 20%.
Deliverable submitted up to 48 hours later – the mark earned is decreased
by 50%.
Submissions more than 48 hours late will receive the score of zero (0).
However, all assignments must be turned in to obtain full credit for the course.
Exams:
The midterms and final examinations will be written in class. Dates of the exams will be announced.
The examinations will focus on understanding and applying the concepts taught in class and practiced in lab/tutorial exercises and the course project. They will mainly include solving small practical problems, but some multiple-choice and short-answer questions may also be qiven.
Exam Makeup Policy:
An exam missed without an acceptable excuse will be recorded as a grade of zero (0).
Missed exams with acceptable excuse will be made up or assigned the average grade of all other exams, at the option of the course instructor.
Missed, and acceptably excused, final exams will result in the course grade of
'I' and must be made up in the first two weeks of the following semester.
Grading:
Final (30%)
Midterm exam 1 (15%)
Midterm exam 2 (15%)
Project (20%)
Quizzes, homework, discussion (20%)
SYLLABUS CHANGE POLICY:
This syllabus is a guide for the course and is subject to change with advanced notice. Such notice will be in the form of an announcement to the Blackboard course web site.