Vous êtes sur la page 1sur 4

Syllabus†

COMP 586: Object-Oriented Software Development


Fall 2016

Course Information
Instructor: Taehyung (George) Wang, twang@csun.edu
Class website http://moodle.csun.edu/
Lecture: JD2211, TuTh. 12:30 – 1:45 pm
Office hour: JD4447, TuTh 10:45 – 11:45 pm or Friday by appointment
Midterm exam TBD
Final exam: 12:45 – 2:45 pm Thursday, 12/15
Prerequisite: COMP380/L

Text books
• Title: Software Engineering Design: Theory and Practice (Applied Software Engineering
Series)
• Edition: 1
• Author: Carlos Otero
• ISBN: 978-1439851685
• Publisher: Auerbach Publications

• Title: Design Patterns: Elements of Reusable Object-Oriented Software


• Edition: 1
• Author: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
• ISBN: 978-0201633610
• Publisher: Addison-Wesley Professional

Course Description

Fundamentals of object-oriented modeling—associations, links and states. Survey of object-


oriented development methods. In-depth study of a current object-oriented method. Object-
oriented software requirements analysis and modeling. In-depth study of object-oriented design
patterns.

Course Objectives
Upon successful completion of the course the student will be able to:
• Be able to understand basic concepts of software engineering design
• Be able to discuss software design with UML
• Be able to explain principles of software architecture design
• Be able to explain principles of detailed software design
• Be able to understand and use design patterns

Moodle
CSUN IT will register you in Moodle automatically (typically 24 hour after adding the class). All
course notes, assignments will be posted in Moodle; due dates will be posted in the Moodle
calendar. All important class announcements will be posted in the Moodle General forum and all
such announcements will be automatically forwarded to your CSUN email address. If you do not

1
use CSUN Webmail, then please set up email forwarding. In all cases, should a conflict arise, the
Moodle announcements will take precedence over all other forms of communication.
It is your responsibility to keep up with the class by reading the emails and Moodle posts. Please
make sure that your CSUN email account is working and not over quota due to junk mail etc.
http://www.csun.edu/it/services/emailcal.html#students.

Moodle Profile
Complete your profile in Moodle. It will help me to know you better if your Moodle profile contains
a passport type photo of you. You will earn participation points by doing so.

Assignment Submission
Assignments designated for Moodle submission are graded within Moodle and cannot be
submitted by email or in class. All Moodle assignments must be submitted by the due date, Moodle
will not accept late submissions.

All assignment submissions should be of professional quality; always do a spelling & grammar
check before submission. Disorganized and scruffy submissions exhibit a lack of interest and often
represent thoughtless work, hastily created at the last minute. Such submissions generally earn
grades of C or lower.

Course Requirements

Exams/Quizzes
Exams/Quizzes will ask about the detailed knowledge as well as the major concepts. No makeup
exam/quiz is allowed unless a legal document is provided to the instructor.

Homework Assignments
Homework assignments will be given for the assessment of your understanding of class materials.

Lab Assignments
Lab assignments are provided for students to obtain hands-on experiences on developing object-
oriented software design.

Group Project Assignments


Group project assignments are a part of a group project and they are group activities. They includes
various software engineering activities for your group projects such as developing software
requirements and specifications, object-oriented, implantation, testing activities, etc. based on
SCURM. Note that each of group members will be evaluated anonymously by peer group members
in terms of the degree of contribution and the result will be taken into consideration for each group
project assignment. In other words, each group member’s score will be different depending on peer
evaluation results.

Group Project
As one of the course requirements, the success of the group project is necessary. The students must
successfully finish their group project on time, satisfying the requirements for the project and
delivering a set of final-version deliverables. The deliverables shall be consistent, complete, and
correct. At the final exam, a peer evaluation will be conducted. Two deliverables are required to
complete projects – 1) working code and live presentation and 2) all related documents including
source code. The template and sample of documents will be provided. Like group project
assignments, each of group members will be evaluated anonymously by peer group members in

2
terms of the degree of contribution and each group member’s score will be different depending on
peer evaluation results.

Course Policies

Late Assignment
NO LATE ASSIGNMENTS ARE ACCEPTED FOR ANY REASON.
Academic Dishonesty
“Cheating or plagiarism in connection with an academic program at a campus is listed in Section
41301, Title V, California Code of Regulations, as an offense for which a student may be expelled,
suspended, or given a less severe disciplinary sanction.” - (http://www.csun.edu/catalog/)

Grading

The portion of each grading component and the grading formula are as follows. Note that the grade
of lecture and lab will be the same.

Grading components Percentage Grade Grade cutoff


Homework assignments 10% A >= 94.00 %
Lab assignments 10% A- >= 90.00 %
Quizzes 20% B* 80 – 89.99%
Group project† †† 20% C** 70 – 79.99%
Midterm exam 20% D*** 60 – 69.99%
Final exam 20% F < 60%
Total 100% * (B+ >= 87% B >= 83% B- >= 80%)

Group project assignments: 4%; the product ** (C+ >= 77% C >= 73% C- >= 70%)
(working code and live presentation): 8%; source *** (D+ >= 67% D >= 63% D- >= 60%)
code and documents: 8%. The score of documents
cannot exceed the score of the product.
††
Depending on peer evaluation results the final
grade for a group project will be different between
group members.

3
Course Schedule and Outline

Week # Topics
1 Introduction to object-oriented software development
2 Object-oriented approach (abstraction, polymorphism, inheritance, encapsulation, class)
3 Object-oriented approach (relationships, aggregation, composition, dependency, interfaces,
realization)
4 UML use case diagrams, class diagrams, activity diagrams, state-chart diagrams
5 UML sequence diagrams, component diagrams, deployment diagrams, package diagrams
6 Software system modelling
7 Principles of software architecture
8 Midterm Exam
9 Software architecture patterns
10 Principles of detailed design
11 Creational design patterns
12 Structural design patterns
13 Behavioral design patterns
14 Design patterns summary
15 Project presentation and acceptance testing
16 Final Exam

†Note that the content of syllabus can be changed without advance notice.
4

Vous aimerez peut-être aussi