CS 540

advertisement
UCC/UGC/YCC
Proposal for New Course
1. Effective BEGINNING of what term and year?:
Fall 2012
See effective dates calendar.
Electrical Engineering and
3. Academic Unit: Computer Science
2. College: CEFNS
4. Course subject and number:
CS 540
5. Units: 3
6. Long course title: Advanced Software Architecture
(max 100 characters including spaces)
7. Short course title: Advanced Software Architecture
(max. 30 characters including spaces)
8. Catalog course description (max. 60 words, excluding requisites):
Graduate level exploration of the design of software architectures, including foundational
concepts, architectural styles, architecture description languages and modeling notations,
domain-specific architectures, product-line architectures, and the role of architecture and
architects in the software engineering process.
9. Grading option:
Letter grade
Pass/Fail
Both
10a. UGC approval date*: 02/15/2012
10. Co-convened with: CS 440
(For example: ESE 450 and ESE 550)
*Must be approved by UGC before UCC submission, and both course syllabi must be presented
11. Cross-listed with:
(For example: ES 450 and DIS 450)
Please submit a single cross-listed syllabus that will be used for all cross-listed courses.
12. May course be repeated for additional units?
12a. If yes, maximum units allowed?
12b. If yes, may course be repeated for additional units in the same term?
Revised 06/22/2011
Yes
No
Yes
No
1
13. Prerequisites:
CS 386
14. Co requisites:
NONE
15. Is this course in any plan (major, minor or certificate) or sub plan (emphasis or concentration)?
Yes
No
If yes, describe the impact and attach written responses from the affected academic units prior
to college curricular submission.
16. Is there a related plan or sub plan proposal being submitted?
If no, explain.
Yes
No
17. Does this course include combined lecture and lab components?
Yes
If yes, note the units specific to each component in the course description above.
No
18. Does this course duplicate content of existing courses?
Yes
No
If yes, list the courses with duplicate material. If the duplication is greater than 20%,
explain why NAU should establish this course.
19. Names of the current faculty qualified to teach this course:
John Georgas
20. Justification for new course.
One of the critical abilities students of computer science will need in their future careers is the
expertise of system design, and software architecture is the area of computer science that
studies the design and composition of large-scale software systems. This proposed course
provides a graduate-level opportunity to critically study software architecture in depth,
tackling design techniques and gaining expertise that are critically important in the
professional context and their future career advancement. Furthermore, the graduate context
allows for independent research and development of new ideas that advance the state of the
art of the field, expressed in a significant scholarly paper. The course has been offered
previously as a 599 course, was well received, and addresses an important need of further
depth in the department’s graduate course offerings.
Answer 21-22 for UCC/YCC only:
21. Is this course being proposed for Liberal Studies designation?
Yes
If yes, forward this form along with the appropriate supporting documentation to the
Liberal Studies Committee.
No
22. Is this course being proposed for Diversity designation?
Yes
If yes, forward this form along with the appropriate supporting documentation to the
Diversity Committee
No
Revised 06/22/2011
2
Scott Galland
Reviewed by Curriculum Process Associate
01/03/2012
Date
Approvals:
03/21/2012
Department Chair/ Unit Head (if appropriate)
Date
Chair of college curriculum committee
Date
Dean of college
Date
For Committee use only:
UCG/UGC/YCC Approval
Date
:
Approved as submitted:
Yes
No
Approved as modified: Yes
No
:
:
Please attach proposed Syllabus in approved university format.
Revised 06/22/2011
3
College of Engineering, Forestry & Natural Sciences
Department of Electrical Engineering and Computer Science
Fall 2012
Course: CS 540 – Advanced Software Architecture
Meeting Time: TuTh 11:10 AM - 12:25 PM, 69-314
Credit Hours: 3
Instructor: Dr. John Georgas
Office: 69-265
Office Hours: TBD
Course Prerequisites: CS 386
Course Description
Graduate level exploration of the design of software architectures, including
foundational concepts, architectural styles, architecture description languages and
modeling notations, domain-specific architectures, product-line architectures, and the
role of architecture and architects in the software engineering process.
Learning Outcomes
Upon successful completion of this course, graduate students will be able to:
 Describe the principles of software architecture;
 Apply architectural best-practices to software design;
 Describe and apply software architecture modeling notations;
 Demonstrate the ability to perform advanced analysis of software architecture
research literature;
 Demonstrate the ability to lead class discussions and lecture on recent
developments in software architecture state-of-the-art;
 Demonstrate the ability to synthesize results from the software architecture
research literature in order to identify trends and emerging fields; and,
 Demonstrate the ability to identify shortcomings in the software architecture
research literature and describe possible solutions to these shortcomings.
Course Structure
This course offering will consist of a number of elements: Lectures that meet three
hours per week to present and discuss topics relating to software architecture,
homework assignments that will sharpen students' understanding of the material and
provide a chance to apply concepts from lecture, graduate student presentations and
leading discussions that will give students a chance to share their insights, and reading
assignments that will challenge students to think critically about current research
directions in software architecture.
Graduate students will also be required to write an in-depth, journal-quality research
paper on a selected topic to be decided on in collaboration with the instructor, which will
require significant additional writing and reading effort.
Revised 06/22/2011
4
For all course-related work, graduate students will be held to a higher standard of
professionalism and quality of work than one would expect to find in the equivalent
undergraduate course, as befits a graduate level experience.
Required Textbook
Software Architecture: Foundations, Theory, and Practice. Richard N. Taylor, Nenad
Medvidovic, and Eric M. Dashofy. John Wiley & Sons, Inc. (ISBN: 9780470167748)
Graduate students will also be required to read significant outside research literature;
selected readings are found below:
 Perry, D. E. and Wolf, A. L. Foundations for the Study of Software Architecture.
ACM Software Engineering Notes 17(4):40-52, 1992.
 Garlan, D., Allen, R., and Ockerbloom, J. Architectural Mismatch: Why Reuse is
So Hard. IEEE Software 12(6):17-26, 1995.
 Carzaniga, A., Rosenblum, D.S., and Wolf, A.L. Achieving Scalability and
Expressiveness in an Internet-Scale Event Notification Service. In the Proceedings
of the 19th ACM Symposium on Principles of Distributed Computing, p. 219-227,
ACM Press, July 2000.
 Asuncion, H. U., Francois, F. and Taylor, R. N. An end-to-end industrial software
traceability tool. In Proceedings of the 6th joint meeting of the European Software
Engineering Conference and the 14th ACM SIGSOFT Symposium on Foundations
of Software Engineering (ESEC/FSE 07), p. 115 - 124, ACM Press, September
2007.
 Grundy, J. and Hosking, J. Supporting Generic Sketching-Based Input of
Diagrams in a Domain-Specific Visual Language Meta-Tool. In Proceedings of the
29th International Conference on Software Engineering (ICSE '07), p. 282 - 291,
IEEE Computer Society, 2007.
 Brun, Y. and Medvidovic, N. An Architectural Style for Solving Computationally
Intensive Problems on Large Networks. In Proceedings of International Workshop on
Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07), 2007.
Course Outline
For a more detailed outline, check the course schedule.
Topic
Introduction
Architecture and software engineering
Basic architectural concepts
Architectural design and styles
Connectors
Modeling and notations
Visualization
Analysis
Implementation
Applied architectures
Revised 06/22/2011
Chapter
1
2
3
4
5
6
7
8
9
11
5
Architectural adaptation
DSSAs and PLAs
14
15
Evaluation and Grading
Your final grade for this course will be determined through the assessment of a number
of exams, assignments, and readings that are summarized below:
Assignment
Homework assignments
Research readings and analysis short papers
Class discussion and participation
Research reading presentations
Research paper
Midterm exam
Final exam
Grade
Weight %
10%
20%
5%
10%
15%
15%
25%
Grades will be awarded on the following scale:
Percentage Grade
90% or above
80% through 89%
70% through 79%
60% through 69%
59% or below
Letter Grade
A
B
C
D
F
There is no "curve;" your grade is completely up to you and is not in any way affected
by the grades of your classmates.
If you feel I've made a mistake in grading your assignment, please come visit me during
office hours. I will very happily explain my reasoning for deductions and correct
mistakes! However, any corrections must be discussed and made within a week of the
assignment's return date.
Sometimes instructors make mistakes, and I am no exception: exams are harder than
expected, or assignments are just too optimistic for the time allotted. In these rare
cases, I reserve the right to modify the class's grades before their final submission. This
modification is subject to the following rules: (1) the same modification will be applied to
the grades of all students, and (2) the modification may never result in a lower grade,
but always a higher one.
Submission and Late Policy
All assignments are due at the beginning of class on each assignment's due date. Drop
them on my desk as you come in. There is a 15 minute "grace" period before late
penalties kick-in, to account for transportation and parking related delays -- please don't
abuse this courtesy.
Revised 06/22/2011
6
In order to get assignments back to you in a timely manner, I depend on having all
assignments turned in on time. As a result, there are stiff late penalties: Each hour the
assignment is late is worth a 10% penalty. The timer doesn't stop until the assignment is
in my possession, even if I have already left for the afternoon. I would much rather you
turn in an incomplete assignment on time than a complete one hours late. There are no
"make-up" exams. If you fail to take any of the exams, the score for that exam is a zero.
All that said, exceptions for exceptional circumstances can, of course, be made. If you
are unable to make it to class due to a serious illness or injury, let me know as soon as
possible (and be prepared to offer any supporting documentation I ask for). Institutional
excuse forms must be submitted to me at least 5 business days before the first day of
absence they cover, or they will not be honored. Any arrangements to make up missed
work are solely my discretion.
Attendance, Readings and Lecture
It is critical that you attend every course meeting. The readings and lectures will go
hand-in-hand and will not necessarily cover the same material. One will reinforce the
other, and -- to do well -- you should be prepared to come to lecture having read (or, at
the very least, skimmed) through the reading assignments for the day. This will allow
you to more actively participate during lecture, which will make the course much more
enjoyable for all of us. Exam content will be drawn from both.
Electronic Devices
Feel free to bring your laptops and take electronic notes during class. Note that
watching Youtube videos or Facebooking does not count as taking notes. Please be
courteous to me and to your classmates by silencing your cell phones. I reserve the
right to ask you to stop using any device if it is bothersome during class.
The Site
The pages of the course's home site are the central course information and
announcement clearinghouse, along with your email. I would ask that you check your
email daily, at the very least and visit the site daily as well. Keep your eyes glued to the
News section of the main page for announcements of changes, and to the Schedule
that will be updated often with links to lecture notes and assignment details.
Contact and Email Policies
Please don't hesitate to drop by my office or send me an email with any questions or
concerns. I will happily do my best to answer your questions and address your
concerns. I reserve the right to ask you to come in for a chat during office hours for long
answers, and reserve email for shorter answers. I will answer your emails as soon as I
possibly can, but don't bank on a response time measured in minutes (though, that may
sometimes happen too).
Very often, students will have the same question, but only one of them will send an
email my way asking it. Therefore, my default policy is to share answers to email
questions having to do with the course content with the class mailing list! I will do my
best to strip off any identifying information from the text of your email before I do so. If
Revised 06/22/2011
7
you would rather I not share your question, please indicate that in your email.
Obviously, I will never share a question that is personal in nature.
My email is filtered, so to ensure that your message actually lands in my inbox, please
include "CS565" in the subject line. Also, please make sure that you put your name
somewhere in the message. Without this information, there's no guarantee that I will get
and answer your email.
Academic Dishonesty
One of the foundations of academic life is honesty. Assignments and exams are ways to
measure your understanding of the material being covered in the course, not medieval
implements of torture. By cheating, you are cheating yourself out of the chance to have
your understanding accurately evaluated. Grades are an indication of your final
proficiency over the material, and not a form of punishment. Be honest and fair to your
fellow classmates: do your own work. You'd also be surprised at how easy it is to spot
cheating.
Cheating and any other form of academic dishonesty (such as "borrowing" text or
materials) will be dealt with seriously. Consequences to incidents of academic
dishonesty may include a zero grade in the assignment in question, an F in the course,
or may be referred to the university's channels and result in expulsion from NAU -- any
and all at my discretion.
Just don't do it!
Special Accommodations
I am committed to a classroom that is open to all. If you feel you need any special
accommodations for any component of the course, please: (1) let me know immediately,
and (2) contact Disability Resources immediately, so accommodations can be made.
NAU Policies
Please familiarize yourselves with the university's general policies that are available at
the Engineering Sciences front desk and in various online locations within the
university's site: http://www4.nau.edu/avpaa/UCCPolicy/plcystmt.html.










Safe Working and Learning Environment
Students with Disabilities
Medical Insurance Coverage for Students
Academic Dishonesty
Institutional Review Board
Accommodation of Religious Observance and Practice
NAU Classroom Management Statement
Building Evacuation Policy
NAU Class Policy Statement
Engineering Sciences Code of Ethics
Revised 06/22/2011
8
Download