COMP 586 Object-Oriented Software Development.  Fall 2008

Dr. Shan Barkataki, Computer Science Department, CSUN
email:
shan @ csun . edu (preferred) Office : JD 4449 ( 818-677-2733) 
Remove spaces to get my actual email address

 

COMP 586

14519

M

19:00 – 19:45

JD3510

 

Office hours: M 15:00-16:15   W 18:50-19:20,  email at any time.

 

Synopsis: You will learn about developing software systems using current methods and techniques using UML-II.   You will create software design solutions using UML-II and CASE tools.  You will participate in a group project to create the analysis and design models for a moderately complex software intensive system. 

You will learn useful software engineering skills.   Expect to spend a minimum of 6 hours per week for this class (3 hours class time, 3 hours doing homework, research, project work and self-study).

Prerequisites:  Comp380/L and Comp322/L or equivalent.  Concurrent enrollment in the prerequisite classes is not acceptable.   In general, work experience cannot be substituted for academic prerequisites.  You need to have good comprehension of the prerequisite material and adequate skills in reading and writing English.  Lack of proper preparation is the primary reason for students failing this class. Recommended but not essential : CS 432 - Object Oriented Programming

View Larger Cover ImageAttendance: To pass this class you will need to attend class sessions regularly class attendance and lab work will be needed.   You will not pass this class just by reading the book.   If you have a work or family conflict that will not allow you to attend class regularly and do the assignments in a timely manner,  then consider dropping this class now and taking it in future.

Text book:  Real Time UML: Real Time UML Third Edition Advances in the UML for Real-Time Systems.  Addison-Wesley ISBN 0321160762   Please make sure that you get the 3rd edition.  The 1st and the 2nd editions use UML 1.x and are of no use in this year's class.  You will need the text book from the second week onward.   I have seen web prices from $26 to $104!  Online orders often take two weeks for delivery.   Publisher's website:

http://www.aw-bc.com/catalog/academic/product/0,1144,0321160762,00.html

Course notes:  PDF format files will be available from instructor for downloading via webCT.  The course notes supplement the text book, not replace it. 

Internet access:  You will need fast internet access to use the digital libraries and to do other searches.   Fast internet access is freely available at CSUN in labs, library and through wireless.

 

WebCT:  webCT (webteach.csun.edu)  will be used for course notes and assignments.  If you are enrolled in this class then I will register you in webCT.

 

Turnitin.com:  Many homework assignments and the research paper will be submitted via turnitin.com  See the instruction & tutorial at http://www.turnitin.com/  You will need to self register- I will provide the  class code and password in class or email.  When you register at turnitin.com, please use your CSUN email address.  (An email address like kissmeqwik@yahoo.com leaves me clueless about who you are and your submissions may not get graded

 

Email:  I use the email a lot.  All class announcements (including course notes, quiz announcements,  last minute changes) are sent  to  your CSUN email address.  If you do not use CSUN Webmail, then please set up auto-forwarding of emails to your non–CSUN account.  Log in to Webmail; click Options and then click Forwarding.  Make sure that both your CSUN email and your target email accounts  are working OK  (not over quota or expired).  If you get a lot of spam at CSUN, then make sure to set up the spam filter and also purge out those that escape into your inbox.

 

Class etiquette: Please silence cell phones and pagers before entering classroom/lab.    Please do not snooze in class, because it is disruptive to others.   If you feel sleepy, then you can leave the room, get a drink of water, wake up, and return.  You can even stand at the back of the room to beat that drowsy feeling!!   YOU WILL FORFEIT PARTICIPATION POINTS IF YOU NAP IN MY CLASS  Please refrain from noisy keyboarding  during the lecture sessions.  Read "How to ace my class"  www.csun.edu/~shan/misc/howtoace.htm

Topics  

*       Overview of object-oriented analysis and UML-II

*   Review of software modeling  concepts

*   Development methods, processes, and life cycles

*   Overview of object-oriented modeling  with UML

*  Introduction to UML

*  Small things- Classes, objects, interfaces

*  Relationships- association, aggregation, Inheritance and polymorphism.

*   Functional vs. Object-oriented modeling

*       Basic Analysis Modeling

*   Event-Response modeling

*   Use case modeling

*   Goal-Question-metric

*   Requirements specification – style, clarity, format, tools (self study & research)

*   Case studies from text

*       Structural (static) modeling

*   Class diagrams showing relationships,

*   Interfaces & ports

*   Big things- Packages, components and subsystems

*   Demeter’s principle

*   Deployment diagrams

*       Dynamic Modeling

*   Modeling object behavior

*   State machines & state charts

*   Modeling complex behavior with state charts

*   Nested states and state inheritance

*   Modeling internal and external concurrency

*   Case study from text- heart pace maker (no course notes)

*       Modeling Interactions

*   Advanced Interaction and communication diagrams in UML-II

*   Loops and branches

*   Lifeline & interaction decomposition- fragments & references

*       Modeling for real-time behavior

*   Timing diagrams

*   Activity diagrams

*   Modeling interrupts & interruptible segments

*       Architectural Design

*   Logical vs. physical modeling

*   System development process

*   Domain modeling

*   Modeling whole systems

*   Concurrency considerations- UML-II Task diagrams

*   Real-world concurrency- Operating system, threads, processes, IPC etc.

*       Detailed Design

*   Parametric classes

*   Frameworks & design patterns

*   Common design patterns

*  GOF patterns

*  Describing design patterns in UML-II

*  Using design patterns in UML-II

*       Other issues

*   Model driven Architecture

*  CASE tool issues

*   Round trip Engineering

*   Customizing UML with profiles

 

Research paper guidelines

1.    Copying text, diagrams and pictures from the internet or other sources without proper reference will be considered cheating and will receive a grade of F.  Read Grading Policy for more information, including citation guidelines.

2.    The paper should be between 4 to 6 typed pages long, including diagrams.  The papers should be of professional quality (spell checked and grammar checked) and conform to the ACM style guide  at www.acm.org/sigs/pubs/proceed/pubform.doc,  however, use a single column format ( i.e. do not use the two column format),  use single spacing, use a serif font such as Ariel with a font size of 11 or 12, paginate the paper.  There is no need for including the copyright block.  Other than that, follow the ACM guidelines including abstract, keywords, section numbers and titles etc.  Use of illustrative diagrams is highly recommended.

3.    You should study and analyze a minimum of three source publications- Journal articles or books, in preparation for writing the research paper. Use of Internet resources from reliable sources is acceptable, but don’t just cut and paste (see below). You need to use at least one reference from professional journals such as publications of the ACM, IEEE, or conference proceedings (hard to get).

4.    You should do a critical study of the source material and summarize your findings in your research paper.

5.    You have free access the ACM digital library from any computer at CSUN or from outside, if you connect with CSUN VPN

6.    You must write the paper in your own words- no copying and no submitting of work written by someone else- not even by your best friend!!.  You may include text written by someone else as long as you acknowledge the original author with proper references. Follow the guidelines for making acknowledgements and references as laid down the paragraphs D.1 to D.3 in the University regulations for Academic Dishonesty (see current catalog or Schedule of classes). In particular, any text copied from someone else’s work (web pages, books, or articles) must appear within quotation marks, italicized and properly acknowledged with a reference. Omission of proper acknowledgement and reference will be deemed academic dishonesty.   I can tolerate poor English, if English is not your primary language- I do not tolerate copying,  I DON'T TOLERATE SOMEONE ELSE WRITING YOUR WORK.

7.    You can write a joint paper with another student. The quality of the joint papers should be superior to those produced by one student. A joint paper should be 4 to 6 pages and based on at least five sources.

8.    The paper should be of professional quality (spelling and grammar checked & well organized)

9.    Use of illustrative diagrams is highly recommended

10.  Guidelines for writing term papers (There are many, the following are samples of what is available)
http://www.lhup.edu/~dsimanek/termpapr.htm
http://www.cs.purdue.edu/homes/dec/essay.dissertation.html

11.  You will submit the research paper at  www.turnitin.com   You should run originality tests with quoted and bibliography ignored.  A similarity index score of above 10% is not acceptable.

12.  Please use Microsoft word format so that I can insert comments.  Do not submit pdf format files as inserting comments in pdf files is now very difficult.  You can use open office to write the paper but please convert to word format (free tools available) 

13.  You can see the paper evaluation criteria at the course website.

Computers in quizzes and exams:  Laptops and handheld electronic devices must be powered down throughout the duration of quizzes and exams, even in the open-book/notes exams.

 

Working the group project:   The project will use be developed using the agile development process.  Each group will set up a Google group site for collaborative work; minimize  the need for F2F meetings.  The group site will be serve as the Project Asset Library.  It must be structured by life cycle phases (e.g. Requirements, analysis, system design, preliminary design, detailed design etc.)  As a group  member you earn points by taking the initiative in doing work.  Do not rely upon someone else to ask you to do things.  You must post your contributions with your name in the group site.  Absent artifacts of collaboration, absent points!!

“We all participated in group reviews, meetings …” is not an acceptable mode of work.  Artifacts must be produced and posted timely, two students can work together in doing individual tasks, but I will expect to see individual posts with individual students’ names and a final post with both students’ names.  Artifacts may be work products and also meaningful reviews.  I will monitor the posts and email traffic at group sites to determine the level and the value of individual participation.

 

Evaluation criteria

 

Two Quizzes

First 12%, second 18% , may  include material from the project

One Final

25%  Final, may  include material from the project

OOSD project.Many assignments throughout the semester. 

18%, half  (9%) for group achievement and half (9%) for meaningful individual contributions.  However, a student who participates minimally or not at all, will get a failing grade, i.e. zero for both individual and group achievement (see Working the group project above)

Research paper

10%   (proposal due by September 20, paper due last week of class).

Homework &

15% (home work may include project related assignments; participation includes timely and complete attendance, active and meaningful participation in class discussions and in the webCT discussion forum.  To pass, all assignments must be completed.

Attendance and participation

2%. Earn by timely attendance and participation including meaningful posts in the webCT discussion forum.  Please sign your name in the attendance roster placed in the back of class

 

Submitting work

1.    Most assignments will be submitted online at turnitin.com, or at webCT

2.    Lab assignments will call for a demonstration on the lab computer (not your laptop).  There will be an opportunity for self evaluation of some assignments.

3.    Submit all hardcopy work in class, not in my office or in the comp science office.

4.    Please do not email answers to me, I have a very aggressive filter!

 

Grading policy:  

1)    I use an “ALL or nothing” grading policy.  This means that, to pass this class, you need to complete and submit ALL assignments for grading, take all quizzes and exams;.  You will need to submit answers to assignments even if it will earn no points due to lateness.  If you do not submit all work, then you will earn the grade of WU in the class.  Do not game the class grade by choosing to do only a selection of the assignments and missing quizzes and exams-  all work must be completed to pass this lab and class. 

2)    You will earn more points by submitting professional quality work.  Computer printout is best (printers available in all computer science labs).   You will lose points by submitting work with spelling or grammatical errors, scruffy writing and drawings, work that is hastily put together without much thought, analysis, or care.

3)    Please arrange to take all exams on the scheduled dates.  I will reschedule exams only for emergencies.

4)    In fairness to all, I don't give make-up assignments or extra credit work to compensate for poor performance in scheduled exams and assignments. 

5)    You will earn most points by submitting assignments on time.  You will lose points by submitting assignments late unless you have made prior arrangements.   You can apply for an extension for good cause.  Except in emergencies, a request for extension should be submitted by email  before the due date.  The extension request should specify: Your name, description of the assignment, why you need an extension (in two lines), and the new date by when you will submit the work.   You will earn no points from assignments submitted after the solutions have been discussed in class.

6)    Section entitled “ACADEMIC DISHONESTY” in Appendix C of the CSUN catalog gives definition of plagiarism and cheating; this entire section is included in this syllabus by reference.  In this class, the term plagiarism also includes the case where a student submits any material for grading that is authored by someone else as his or her own work.  Examples of such plagiarized work include term papers, computer programs, design solutions, and answers to questions written by a commercial entity, as well as the student’s friend, relative, or tutor.  There will be ZERO TOLERANCE against plagiarism and cheating.   Students who cheat or plagiarize will earn the grade F in the semester’s class grade; there will be no opportunity to resubmit the assignment or retake the exam.

7)    Some assignments can be done as a collaboration work by two students.  The assignment description will indicate when this can be done.   BOTH partners must participate and contribute equally to the solution.  

a)    If you are going to do an assignment as a pair, then please email me with your name and your partner’s name in ADVANCE.  Do this for each

b)    There should be only one submission of the work and the names of both partners should appear in the submission.

8)    I may call upon any student to explain any aspect of an assignment handed in for grading, including those done in collaboration with another.  If you cannot explain the solution then you will earn a lower grade, including the grade F.

9)    Submitting work done by someone else is cheating and will be considered as academic dishonesty.  In all such cases a grade of F will be assigned.

10) In developing solutions you will earn more points by developing simple solutions and by using a disciplined approach.

11) All analysis and design work products should be expressed in standard UML-2- no inventing your own language!

 

Changes to this syllabus:  This syllabus may be changed during the semester.   You will receive notice of any such change via email sent to your CSUN email address