CSCE 4543 Software Architecture – Spring 2009
Tentative Syllabus
General Information
- Time and Place: TR8:00-9:20
- JBHT 234
- Instructor:
Craig Thompson, http://csce.uark.edu/~cwt/,
phone: 479-575-6519, email: cwt@uark.edu
- Course Catalog: A study of software architecture through the use of
case studies drawn from real systems designed to solve real problems from
technical as well as managerial perspectives. Techniques for designing,
building, and evaluating software architectures.
- Prerequisite:
CSCE 3313 Algorithms and CSCE 4513 Software Engineering.
- About the course:
This course will teach students how to reason about and develop large
software systems. At a high level, such systems can be viewed as
nodes and connectors. At a low level, technologies like web services
connect one subsystem to another. In between systems can be
described as implementing middleware design patterns. Case studies
we will consider are client-server, peer-to-peer, web systems, database
management systems, workflow systems, agent systems, grid systems,
service-oriented architectures (SOAs), RFID edgeware, and virtual
worlds. We will also consider end-to-end aspects of architectures
including security, reliability, understandability/maintainability, evolvability,
and survivability.
- Term projects will
vary - several will involve virtual world scalability.
- A graduate section is
available to CSCE grad students who are permitted to take "up to
three" 4000-level courses, 590V or transfer courses outside the
department total.
Assignments/Evaluation & Topics/Schedule
The course grade will be based on
- 25% -
Participation in class
- 75% -
Term project – Demos updates in class 2/5, 3/5, 4/2, 4/14. Term project is due the week of 4/28 and
4/30 with demos in class plus a deliverable zip file containing a final report and
code emailed to the instructor by class 4/30
Topics and schedule:
- Tuesdays
= lecture/reading/discussion on topics:
- SL demos, virtual worlds, Second Life, SL
recent progress, SL website, tutorials,
research,
building, scripting,
scripting,
scripting
- software
architecture, abstraction,
separation
of concerns, architecture
description languages, design patterns, middleware, proxy, wrapper
- distributes
computing, RPC, client-server, peer-to-peer
- service-oriented
architectures, web
services (WSDL,
SOAP, UDDI), managed objects, Object
Management Group
- virtual
machine
- pervasive
computing, agent,
EiA,
soft
controllers, RFID
middleware, RFID
links
- database
management systems, ODBC,
OLE DB, spatial DBMS, OODB
- grid computing, workflow, grid
workflow, grid
DBMS, relationship
to agents
- aspect-oriented
architectures - security, reliability, scalability, evolvability, and
survivability
- Web – web browser, HTTP,
HTML, XML, XSLT, search engines, Web 2.0, Web 3.0
- Email – SMTP, POP, IMAP, MIME
- artificial
intelligence – problem solving, natural
language processing, metadata,
knowledge
representation, ontology
- the
future of software architecture
- other
topics depending on class interest and time -
- Thursdays
= discussion on term projects – focus on virtual world scalability
- Spring
Break 3/17-19/08
- Engineering
Career Fair 2/9 2-6pm & 2/23 2-6pm + Business Career Fair 2/10 11-3pm
Course Policies
Course Web Page and Email
List – Class announcements will be posted on the course syllabus
(this page) and/or the course email list. Watch for frequent updates.
Conduct - Come to class on
time as a courtesy to your professor and fellow students.
Homework and Programming Due Date Policy - Homework (including
homework assignments and programming assignments) is due in class on the dates
specified in the course schedule. Homework is worth full credit when turned in
at the beginning of the class on the due date. A 10% penalty per day will be
incurred for late homework. No submissions will be accepted after the
solutions are posted.
Academic Integrity – The work you submit for this class is
expected to be the result of your
own work in your own words. You are free to discuss course material
and general approaches to problems with others but you should never
misrepresent someone else's work as your own. It is also your responsibility to
protect your work from unauthorized access. If you quote, be sure to use
quotation marks.
Accommodation for Disability – If you have a disability that
will impact your work in this class, please contact me to discuss your needs.
Inclement Weather
Policy – If the University announces closure due to inclement weather
(which is announced on http://www.uark.edu),
then we will not have class that day. Even if the University is open:
- if the
instructor (who lives on a hill) cannot make it to class (due to ice),
then he will send an email to class members and also post a note on this
web page BY 7AM indicating NO CLASS TODAY (<DATE>) and any
instructions for assignments. He will also alert the CSCE Department
staff (but that will be after the office opens at 8am)
- if a
student feels it is unsafe to come to class due to inclement weather, then
s/he should (at earliest convenience) send an email to the instructor
indicating the reason for missing class.
- In
the above cases, any assignments due that day will be due the next class
period.