Link to approximate location of current lecture

 

YOU'RE HERE! Welcome to the Syllabus and Home Page for. . .


IFSC 3360 Systems Analysis and Design
SPRING 2009, MW 12:15-1:30 in ETAS 354
 

Current course description: Prerequisite: IFSC 3320 or equivalent. Fundamental concepts of object-oriented software analysis and design including requirements specification, analysis, and design of software; issues in software reuse, software packaging, and software management. Three hours lecture per week. Three credit hours.

Future possible course description: Prerequisite: a programming course; domain maturity. Fundamental concepts of object-oriented software analysis and design; issues in software reuse, software packaging, and software project management. Three hours of lecture per week. Three credit hours.

Textbooks and references:

Required: Applying UML and Patterns, second or third edition, by Craig Larman, copyright 2002 (2nd), 2005 (3rd), Prentice-Hall. The 2nd edition is just as good as the 3rd, and more economical if you buy it used from amazon.com, half.ebay.com, alibris.com, etc.  

2nd Edition says “SECOND EDITION” on the cover, and has an ISBN (above bar code on back cover) of 0130925691. It is available as of 2008 for prices of about $5 on up at half.ebay.com and $10-$15 on up at amazon.com. To find it reliably on most book sites, use the ISBN as the search term.

3rd Edition says “THIRD EDITION” on the cover, and has an ISBN of 0131489062. It is available for around $40-$45 on up at half.ebay.com and amazon.com. To find it reliably on most book sites, use the ISBN as the search term.

Do *not* get the 1st Edition. Its ISBN is 0137488807 and it does not say anything on the cover about what edition it is. It is available for under a dollar (+ shipping) so if you paid that much you probably got the wrong book.

Full UML description is available at http://www.omg.org/technology/documents/formal/uml.htm.

3. Free textbooks are  available from http://www.textbookrevolution.org/.

Required: A book that can answer your questions on the Java programming language. You can get lots of them used at low prices on-line, or buy one at any bookstore. Here are some links to further Java info:

Web sites: http://java.sun.com/ (Sun is the creator of Java and maintains a very extensive Web site)

The Sun Microsystems documentation start page is at: http://java.sun.com/docs/.

See http://java.sun.com/javase/6/docs/api/ for descriptions of all classes.

See  http://java.ittoolbox.com/groups/groups.asp?v=JAVA-L for a discussion group.

    1. Many useful books are described, and many available on-line, at http://java.sun.com/docs/books/. See for example The Java Tutorial, Fourth Edition: A Short Course on the Basics by Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Thomas Risser, and Mark Hoeber; Prentice Hall PTR, 2006); ISBN: 0321334205.  Third edition, ISBN: 0201703939, is also good and much lower in price. 2nd edition is good too (still!).
    2. A free textbook on-line is at this site.
    3. Various other Java course Web sites with on-line lectures exist, for example, http://www.ibiblio.org/javafaq/course/.

Coordinator and instructor: Daniel Berleant

  1. Email: jdberleant@ualr.edu
  2. Office phone: (501) 569-3488
  3. Mail: Information Science, ETAS Bldg. Rm. 259D, University of Arkansas at Little Rock, 2801 S. University Ave., Little Rock, AR 72204
  4. Office location: ETAS Bldg. Rm. 259D.
  5. Office hours:  1:35 (right after another class ends at 1:30) to 3:00 Monday and Wednesday; after class Monday evenings; and by appt. 

Course Objectives:

  1. Ability to develop basic software in Java
  2. Familiarity with the Unified Process software development model.
  3. Familiarity with the iterative development lifecycle, emphasizing object-oriented analysis and design aspects.
  4. Team experience in managing and executing a project focusing on object oriented analysis and design.

 

Prerequisites: Nominal: IFSC 3320 (databases). However, the course focuses on non-database issues. I would like to assume some programming experience. However, if you don’t have that, see me and we’ll arrange for that not to be necessary in your case.

Homeworks:

Homework assignments will mostly be worth 100 pts. HWs will often be done in teams of 3-4. Not all members of a team will necessarily get the same score.

Exams and quizzes:

·     Exams (worth 100 pts.) and quizzes (worth substantially less than 100 pts.) may occur on occasion but studying for tests will not be a major focus of the course.

Assignments, Exams, Grading…:


·  Latest available grades
·  Attendance will often be taken and will be worth 5 pts. each time.

·  In-class exercises may be worth points.

·  Minimum grade on any quiz or assignment will be 50%.
·  Grades on team assignments may be adjusted to reflect individual contributions.

·  Originality will be worth 50% of each assignment, so be sure not to copy (or modify a copy) of anyone else’s, and also be sure not to accidentally have your work look like it might have been copied or modified from a copy of anyone else’s assignment.

·  Cheating (that includes copying or modifying copies of others’ work) is subject to university policies.

·  Letter grades in the course will be assigned as follows (note that the registrar does not permit +’s and –’s, so they will not appear on your transcript):
A         (95-100%)
A-        (90-95%)
B+       (86.67-90%)
B          (83.33-86.67%)
B-        (80-83.33%)
C+       (76.67-80%)
C         (73.33-76.67%)
C-        (70-73.33%)
D+       (66.67-70%
D         (63.33-66.67%)
D-        (60-63.33%)
F          (50-60%)


If your grade is ambiguous (e.g. exactly 90%) you will get the higher one.  
·  Lateness policy: 10% reduction in the grade on any assignment handed in up to 1 week late. 30% reduction in grade on any assignment handed in more than 1 week late.

Special Accomodations:

If you are not feeling well, see me about HWs, tests, quizzes, etc., that are affected. 

Students with Disabilities: It is the policy of the University of Arkansas at Little Rock to create inclusive learning environments. If there are aspects of the instruction or design of this course that result in barriers to your inclusion or to accurate assessment of achievement–such as time-limited exams, inaccessible web content, or the use of non-captioned videos–please notify the instructor as soon as possible. Students are also welcome to contact the Disability Resource Center, telephone 501-569-3143 (v/tty). For more information, visit the DRC website at http://ualr.edu/disability/ .

Topics Covered (NOTE: the material below from last time is being updated and changed as we go along!)

Part 1 of course: Java concepts and review

M 1/12/09

·     Introduction to the course – hand out this syllabus (ser. #1).

·     Achieving your childhood dreams (really) (see version with captions but may upload too slowly; faster youtube version here; see also the transcript) (dvd: ser. #2 of  another course)

·     HOMEWORK #1: "Hello World" due next time (in 2 days!)

W 1/14/09

·     Discuss syllabus

·     Java introduction (ser. #2)

·     HOMEWORK #2: the problem of accountability in team projects

M 1/19/09

·     Martin L. King day (holiday)

W 1/21/09

·     Java basics; Strings; Example strings program

M 1/26/09

·     Event handling and GUI introduction; sample program

W 1/28/09

·     GUI constructs and example program (AWT-based) and Sample program

·     Supplement: GUI constructs and example program (swing-based); some extra notes on GUI constructs

M 2/2/09

·     Inheritance

·     HOMEWORK #3: GUI component demo

W 2/4/09

·     In-class or individual exercise on inheritance, program to work with, and solution

·     (From past semester: Quiz on Java)

Part 2 of course: the Unified Process

M 2/9/09

·     Feedback survey (a previous survey)

·     Overview of OO analysis and design

·     Life cycle figures (not online, but in the 7310 updated version of this lecture)

(ser. # 7)

W 2/11/09

·     Finish Overview of OO analysis and design (ser. # 7)

·     Team building exercise (if not finished in class, finish at home and hand in next time)

·     Class notes on use case analysis (ser. # 8)

·     HOMEWORK #4:  due in one week, hard copy if you have a printer convenient else by email

M 2/16/09

·     An experience; An overview of the Unified Process (ser. #9)

W 2/18/09

·     Case study, inception, and requirements; class notes on use case analysis (ser. # 10)

·     HOMEWORK #5: Due Monday (next time!) 2/23/09. Update (or write from scratch) and print your resumé (50 pts.)

M 2/23/09

·     Use case modeling I (ser.  #11)

·     HOMEWORK #6: fully dressed use case

W 2/25/09

·     12:15-12:45 - Use case modeling I (cont., starting with slide 19)

·     12:45 - Get your resumé back from instructor, then bring it to the resumé clinic for review!

·     HOMEWORK #7: upgrade your resumé based on the clinic & hand in the new version (50 pts.)

M 3/2/09

·     Use case modeling 2a (intro)

W 3/4/09

·     Use case modeling 2b (procedure)

·     As time allows/supplementary notes: Use case modeling 3 (goals)

M 3/9/09

·     Beyond use cases: Other requirements

·     HOMEWORK #8 (ser. #12)

·     Historical note: archive of another HOMEWORK (a good one to reuse)

W 3/11/09

·    Inception, elaboration, and getting from one to the other (ser. #13)

·    Historical note, not applicable to current semester: homework due next time: answer all questions through slide 12 (entitled “Elaboration Questions II”) in today’s lecture, & hand in hard copy. Either quote the questions or give the slide number of each question, or just print out the slides and write the answers by the questions.

·    Historical note: archive of another old homework

M 3/16/09

·    Domain models - introduction (ser. #13a)

·    HOMEWORK #9 (due Next Time!): The #1 interview question is “tell me a little bit about yourself.” Write down your answer, which should take about 1 minute to say. A key thing is to make it relate to the kind of job you are after (i.e. it is more than light chit chat).

W 3/18/09

·    12:15-12:50: More on domain models (ser. #14)

·    1:00-1:30 or 3:00 if you can: Interview workshop, RBUS 103

M 3/23/09

·    Spring Break

W 3/25/09

·    Spring Break

M 3/30/09

·    Finish More on domain models

·    Review Java programming

·    HOMEWORK #10 (historical note: archive of an old HOMEWORK)

W 4/1/09

·    Contracts (optional supplement)

·    Design intro; exercise: recreate elevator sequence diagram from collaboration diagram (ser. #15)

M 4/6/09

·    Begin survey of GRASP (ser. #16)

W 4/8/09

·    Finish survey of GRASP (review of last time and go on)

M 4/13/09

·    Discuss 5 GRASP patterns

W 4/15/09

·    Design patterns in general

·    Modularity: cohesion and coupling

M 4/20/09

·    Cohesion (finish Modularity: cohesion and coupling”)

·    HOMEWORK #11, due M 4/27/09 and W 4/29/09.

W 4/22/09 

·    Career Fair – by popular demand!

M 4/27/09

·    Information expert, creator, and controller patterns

·    Use-case realizations

W 4/29/09

·    Robotics I: existential risks; robotic bible; the "Create" robot in use; discussion (4rt5)(ser. #. 17)

M 5/4/09

·    Robotics II: getting to know the robot (Ser. #17)

·    HOMEWORK: hand in late HWs by 10:30 a.m., M 5/11/09. If any are still missing by then, go to the Final Exam period.

M 5/11/09 10:30 a.m. –  12:30 p.m.

·    Final Exam period (will be for making up any missing assignments). If you are caught up on HWs then it is not necessary to attend.

     

===================updated to here; items below have not been fully updated yet=========

 

Supplementary material: 

5/07: Homework, due by the end of the final exam period. Search the 4/25 lecture notes for question marks. Answer each one. You will probably have to check the book and the Web as well as your lecture notes and memory. We will discuss any of these you are unsure of during the final and you can write the answers to them at that time. Scoring: 100 pts.

4/30/07, M: Realizing (designing) init and UI; visibility
Design Class Diagrams

Homework, 25 pts. Due by the end of the final exam period. Search the 4/30 and 5/2 lecture notes for question marks. Answer each one. You will probably have to check the book and the Web as well as your lecture notes and memory. We will discuss any of these you are unsure of during the final and you can write the answers to them at that time. (old HOMEWORK)

5/2/07, W: More GRASP Patterns; Old HOMEWORK: small assignment due next time; another old HOMEWORK: 2nd implementation

Some GoF design patterns; Strategy pattern in more detail

GoF Composite Pattern  

exercise

Logical architecture; GoF Facade Pattern

Historical note from last year: old HOMEWORK #15: (Small, but due in two days; this will give a week left to study patterns)

Review of key points

Design patterns test

Architectural analysis  

More on domain sub/superclasses and the domain model;

More on associations; statecharts; More architecture; review;  Observer Pattern; domain sub/superclasses

Old HOMEWORK a; HOMEWORK b; HOMEWORK c; HOMEWORK d

Java test (ser.#7)