CSCI 360 Syllabus – Spring 2012


Aspen Olmsted
Course website :
Tel: 843.953.6600
Email: Please use with Subject = CSCI360
Office: J. C. Long Building 226
Office hours: MWF 9:00 – 10:00 AM

Class place and time

Classroom: Maybank 322
Time: TR 9:25 – 10:40 AM

Catalog description

CSCI 360 Software Architecture and Design – This course covers the process of constructing software, including the structural views of software components, and their characteristics and interrelationships, at a high level of abstraction. The course also covers the design principles that govern the purpose, structure, development and evolution of software components. The informal laboratory component of the course uses software design tools to reinforce design processes and associated design representations.
Prerequisite: CSCI 230. Prerequisite or co-requisite: COMM 104.

Course Outcomes

  1. Describe the ethical issues associated with software architecture and design.
  2. Describe and evaluate how iteration with an agile approach works to create a resilient OO analysis and design process such as the Unified Process
  3. Work in teams to design software
  4. Analyze a software application problem with use cases.
  5. Produce a conceptual domain model with UML class diagram, associations, roles, multiplicities
  6. Use System Sequence Diagrams to illustrate operations
  7. Produce operation contracts.
  8. Describe evaluate the most common logical architectures for software systems and the nature of message passing among architectural components.
  9. Explain the nature and use of software patterns and give at least one illustrative example complete with code.
  10. Demonstrate the basics of software object design and the assignment of responsibilities and collaborations with reference to GRASP.
  11. Use UML activity diagrams to analyze and model processes
  12. Use UML state diagrams to analyze and model states.
  13. Demonstrate  basic design principles: Law of Demeter, Liskov Substitution Principle, SOLID
  14. Explain and implement test-driven development
  15. Exhibit a basic working knowledge of GUI development using an IDE. eference to GRASP.
  16. Produce a Software Architecture Document
  17. Write and present orally analyses of topics in software analysis and design

Professor Assumptions

I am assuming because you are in this class you want to learn about object-oriented
programming.  Therefore, it is my job to use the 40 hour long classes and 80 hours of outside
work to get you there.

Required text

Object-Oriented Software Engineering, by B Bruegge and A Dutoit, 2009. Retail Price $140.  Used prices from  $78.  Electronic prices from $55.

Grading scale

100-90 (A); 87-89 (A-); 86-84 (B+); 80-83 (B); 79-77 (B-); 76-74 (C+); 73-70 (C); 69-67 (C-); 66-60 (D); else (F)

Evaluation schedule

30% Final
40% Quizzes
30% Group Project

Group Project

Each student will choose a semester long project and work with a group of 2 or more students to build a software product.  Groups can be as large as you like but a group of 4 should produce twice the output of a group of 2.  You should choose group members with different skills and experiences from your own.  The project with be similar to the case study at the end of each chapter where for your product you deliver the activity discussed that week in the chapter.

Your product should have at least one customer you can work with over the semester in building the product.  The customer can be an organization you contact, a teacher or group you are part of.  The goal is to meet a real business need with your product.


Each chapter of the book has a series of exercises that builds on previous chapters from the book.  You are encourages to work through the exercises by the class time on the following Tuesday after the material has been covered.  A small subset of the homework will be used as a basis for a 15 minute quiz at the beginning of the Tuesday class.  We will have 13 quizzes and the lowest grade will be dropped automatically.  There will be no makeups for any reason.  So if you miss class during quiz time this will become your lowest grade.


We will have one comprehensive final during finals week covering the material for the whole course.

Classroom disruption

Please read the College of Charlestons Student Code of Conduct. When you come to class
please turn off your cell phones and all other electronic communication devices.  I do encourage
discussion so if you have a question do not hold back from interrupting me if you are afraid I
have moved on.  If it is something I will talk about a little later I will note it on the board so we do not forget.


If you have a documented disability and are approved to receive accommodations through
SNAP Services, please contact me.

Student Honor Code

I expect you to abide by the Honor Code and the Student Handbook: A Guide to Civil and
Honorable Conduct. If you have a question about how to interpret the Honor Code, ask before
acting! I encourage collaboration, but you must document it. Thus, each student will submit
their own homework and, when collaborating, provide a reference to those people and
documents consulted.

Print Friendly, PDF & Email