Unit Outline

advertisement
Curtin University of Technology
Faculty of Science and Engineering
Department of Computing
SYSTEMS PROGRAMMING AND DESIGN 361
Semester 2, 2010
Unit Outline
Unit Index:
4547 / 302975
Credit Value:
25 credit points
Core Unit: This is a significant unit for those undertaking BSc (Information Technology). Failure
twice may lead to the termination from that course. Those undertaking other degrees
or streams should contact their course controller as to significance of the unit.
Prerequisites: Database Systems 252
Software Engineering 252
Availability Details: In 2010, this unit will be offered in Semester 2 through the Sri Lanka Institute
of Information Technology.
Online Teaching Unit Category: Supplemental.
Unit Learning Outcomes (ULO):
On successful completion of this unit students will be able to demonstrate the accomplishment of
the following outcomes:
•
Be able to describe the attributes of components, the structure of a remote procedure call and
the use of interfaces and compare and contrast the different component frameworks.
This ULO is assessed in the assignment, mid-semester test and the final exam.
•
Be able to describe the use of asynchronous remote calls, explain their relationship with
threads and assess the consequences for the application event thread.
This ULO is assessed in the assignment, mid-semester test and the final exam.
•
Be able to design and construct a multi-tiered architecture based on applying knowledge of
components and distributed computing, and extend this architecture to work with different
client front-ends.
This ULO is assessed in the assignment, mid-semester test and the final exam.
•
Be able to outline the issues and challenges with interoperability between different platforms
and frameworks such as Java2 and .NET.
This ULO is assessed in the final exam.
•
Be able to summarise the intent of service-oriented architectures (SOA), explain the
importance of XML in SOA, compare and contrast Web services with Web server-side scripts
and implement examples of each.
This ULO is assessed in assignment and the final exam.
•
Be able to describe the use of Ajax in Internet applications and assess the strengths and
weaknesses of the different Web programming technologies.
1/6
This ULO is assessed in the final exam.
In addition students will develop the following generic attributes:
•
The ability to apply knowledge of basic science and engineering fundamentals
This unit covers advanced concepts in distributed computing, requiring students to apply and
extend their existing knowledge of software design and software programming to a distributed
environment. Modern distributed computing frameworks are introduced, their underlying
principles discussed and their relative strengths and weaknesses examined.
•
Ability to undertake problem identification, formulation and solution.
The unit will examine the recent history and ongoing development of distributed computing,
identifying the problems that were encountered (problem identification), the design of
alternatives (formulation) and the reasons why certain solutions were ultimately settled upon
(solution). Students will be required in the practicals to implement an application in a variety of
different technologies, re-tracing and thus personally experiencing the recent evolutions of
distributed computing.
•
Expectation of the need to undertake lifelong learning and the capacity to do so.
Students are required to read the compulsory textbook for the unit. In addition, self-reading
from other published materials is encouraged to help solve their exercises and assignment.
Each worksheet exercise is aimed at understanding a specific set of concepts, some not
covered in the lectures, and so will require access to external information sources.
•
In-depth technical knowledge in Computer Science.
Component-based development mixed with distributed computing is quickly becoming the
dominant paradigm in modern software engineering due to its flexibility and scalability. The unit
covers all the core areas of the field, including practical sessions on how to work with both the
latest frameworks and recently-superseded frameworks that will continue to be encountered in
industry for at least a decade.
•
Awareness of the issues associated with changes in technology and the ability to adapt.
Distributed computing and component technologies are fields that are experiencing rapid
change due to the growing ubiquity of networks and the Internet. The outcomes related to
theory are directed at providing students with an understanding of the development of the field
and the reasons for this. Practical outcomes focus on working with current and new distributed
computing technologies, providing students with hands-on experience in adapting to the field’s
recent developments.
2/6
PROPOSED TIME TABLE
Week
1
28-Jun
2
05-Jul
3
12-Jul
4
19-Jul
5
26-Jul
6
02-Aug
Lecture Topic
Practical
Distributed Computing and Components: Introduction
Definition, purpose, evolution and design of distributed computing and
component frameworks;
Distributed Computing and Components: Component Frameworks
Component frameworks: DLLs, COM, CORBA, .NET, Java EE; usage and
comparisons, C# overview
DLL, COM: using in
C and in .NET (C#)
Distributed Computing and Components: Asynchronous Remote Calls
Remoting, callbacks, thread pools, thread invocation, event thread
Continue Prac2
Distributed Computing and Components: Multi-tiered Architectures
Reasons
for
multi-tiered,
layering,
architectural
designs,
advantages/disadvantages of tier separation
Distributed Computing and Components: XML Serialisation
XML overview, formatting, object serialisation, XSL
Asynchronous RPC
Distributed Computing and Components: Review
XML creation and
parsing, serialising
objects
Singleton servers
Unit Outline
7
09-Aug
8
16-Aug
9
23-Aug
Remoting example,
integration with DLL
Continue Prac 3
MID-SEMESTER TEST
Web Programming: Server-side Web Scripting
HTML, ASP.NET, HTTP GET/POST, CGI, statefulness
Complete pracs 1-5
Web Programming: Server-side Web Scripting (cont.)
HTML, ASP.NET
Web Programming: Service-Oriented Architectures
Problems of monolithic architectures, services and components,
interoperability, SOAP, BPEL
ASP.NET tier
integration
Web Programming: Web Services
Definition, .NET integration, reflection, n-tier architecture
HTTP GET/POST,
SOAP, Web services
business tier
Continue prac 7
10
30-Aug
11
06-Sep
12
13-Sep
13
20-Sep
14
27-Sep
15
04-Oct
Web Programming: Web Services (cont.)
Definition, .NET integration, reflection, n-tier architecture
ASSIGNMENT DUE (Tuesday, 21-Sep-2010)
Web Programming: Ajax (cont.)
HTML, Javascript, asynchronous calls, browser compatibility, security
Ajax as the
presentation tier
Web Programming: Ajax / Internet Applications
Web scripting versus Web service integration, XSS, Ajax libraries
Ajax adaptation to
Web service-based
business logic tier
Complete all pracs
Unit Review:
16
11-Oct
Tuition Pattern: Lectures
Tutorial
2 hours per week.
2 hours per week.
3/6
Lecture attendance is not compulsory, except for the mid-semester test date. Tutorial attendance
in not compulsory but THEY ARE IMPORTANT! The mid-semester test and the final exam will
be based on the work covered in lectures, and both the tutorials and assignment. Tutorials will
commence in week two.
Recommended Texts and Principal References:
Required Text: None, although the Recommended Text covers a significant portion of the unit.
Recommended Text: J. Löwy, .NET Components, 2nd Edition, O’Reilly, 2005. ISBN 0-596-10207-0.
Additional Texts:
A. Troelsen, Pro C# 2008 and the .NET 3.5 Platform, 4th Edition, APress, 2007, 1370pp.
ISBN 1-59059-884-9.
C. Nagel, Professional C# 2008, Wrox, 2008, 1848pp. ISBN 0-47019-137-6.
D. Flanagan, JavaScript: The Definitive Guide, 5th Edition, O’Reilly, 2006, 1032pp.
ISBN 0-596-10199-6.
N. Zakas, J. McPeak, J.Fawcett, Professional Ajax, 2nd Edition, John Wiley & Sons, 2006.
ISBN 0-471-77778-1 (also available as an eBook).
J. Löwy, Programming WCF Services, 2nd Edition, O’Reilly, 2008, 784pp. ISBN 0-596-52130-8.
Unit Web Area
The unit materials are available via Blackboad (http://lms.curtin.edu.au), as well as the Computing
Web site unit URL http://www.cs.curtin.edu.au/units/spd361 in case Blackboard is down. These
areas contain critical information, messages and announcements for the unit and students should
be accessing it on regular basis. No allowance will be made to compensate for the result of a
student being unaware of the information in this Web area.
Assessment Details:
Mid-semester Test
The mid-semester test will be held during lecture of Week 8 (week beginning 16-Aug-2010). NO
MAKEUP (LATE / MISSED) MIDTEST WILL BE GIVEN. To pass the mid-semester test, you
need to read the lecture notes AND the practical sessions. You need to spend approximately 5
hours reading around the subject covered in each lecture. In addition, you also include some extra
hours to spend for revising for the test. Test will be handed back within three weeks.
Assignment
Students are required to submit their solution to the assignment by 5pm Tuesday of Week 12. NO
LATE SUBMISSIONS WILL BE ACCEPTED. Marked assignments will be handed back within
three weeks.
Awarding of grades:
Assessment will consist of:
Mid-semester Test
Assignment
Final Examination
Week starting 16-Aug-2010
Week starting 18-Oct-2010
Passing Criteria
4/6
Worth 25%
Worth 15%
Worth 60%
In order to pass the unit a student:
• must have attempted the mid-semester test, and
• must have attempted the assignment, and
• must achieve at least 45% in the exam, and
• must have an overall unit assessment of at least 50%.
Assessment Notes
•
•
•
•
This unit requires between 8 and 10 hours of study per week. Please ensure that you keep up
with the tutorial exercises and that you do not fall behind on the required readings.
The date of the mid-semester test will not be changed.
The assignment will be submitted in two parts:
1. The assignment program and source code will be submitted electronically by placing it in
your home area in a directory (directory name TBA closer to the assignment due date). The
source code will then be automatically taken up at the due date deadline and a notification
of success or failure will be emailed to you.
2. An assignment cover sheet and written documentation as per the assignment’s
requirements specification must be physically submitted to the lecturer or unit pigeon hole
in the Department of Computing foyer by the due date (a cover sheet will be provided).
You must submit a reasonable assignment attempt. A title page is not enough.
GENERIC INFORMATION
Enrolment and HECS: it is your responsibility to ensure that your enrolment is correct - you can
check your enrolment through the eStudent option on OASIS, www.oasis.curtin.edu.au, and you
can also print off an Enrolment Advice.
Semester 1: you can make requests to have corrections made to your enrolment up to 31 March.
The University will not change records after 31 March. HECS liabilities (where they apply) and
your results depend on your 31 March enrolment. Withdrawals made after that date will not reduce
your HECS liability.
Semester 2: you can make requests to have corrections made to your enrolment up to 31 August.
The University will not change records after 31 August. HECS liabilities (where they apply) and
your results depend on your 31 August enrolment. Withdrawals made after that date will not
reduce your HECS liability.
Plagiarism: academic honesty is crucial to a student's credibility and self-esteem, and ultimately
reflects the values and morals of the University as a whole. A student may work together with one
or a group of students discussing assignment content, identifying relevant references, and
debating issues relevant to the subject. Plagiarism occurs when the work of another person, or
persons, is used and presented as one's own, unless the source of each quotation or the piece of
borrowed material is acknowledged with an appropriate citation.
The University regards very seriously any acts of cheating, or dishonesty by way of plagiarism.
Penalties for such incidences have been defined within the University's Acts and Statutes [Curtin
University of Technology Act, 1966 Statute 10, Student Disciplinary Statute, Sections 2 and 4].
For more information on the Curtin University Statement on Plagiarism and the nature and
unacceptability of academic dishonesty including cheating, plagiarism and the fabrication or
falsification of data, visit
http://www.policies.curtin.edu.au/documents/plagiarism.doc
The University statements on individual rights and responsibilities regarding the proper use of
copyright material, the student charter and grievance procedures can be found at
http://students.curtin.edu.au/administration/responsibilities.cfm
5/6
SCHOOL/UNIT-SPECIFIC INFORMATION
Missed Tests: Students are referred to the Dept of Computing web site for information regarding
the standard policy for missed tests:
URL:http://www.computing.edu.au/documents/latesubmissionpolicy.pdf
Supplementary Exams:
You should be aware of the University policy on grading of results including Supplementary and
Deferred Assessment. In particular, being awarded a Supplementary Examinations is a privilege,
not a right. They are awarded for educationally sound reasons by the Board of Examiners in
accordance with the University's governance policy. See governance.curtin.edu.au for details.
Students who have been awarded a Supplemental Examination by the Board of Examiners will be
notified by letter prior to the examination. Students can phone 9266 7298 to find out if they have
been awarded a Supplemental Examination. You may not phone this number to apply for a
Supplementary Examination or Assessment if you were not awarded one by the Board of
Examiners. The correct process for this is through the Appeals procedure. Supplemental and
deferred examinations will be held in the last week of the inter-semester break.
Change of Address: Make sure that the University is aware of any changes in your address - this
is your responsibility.
Contact Details
Anuradha Karunasena,
Email: anuradha.k@sliit.lk
Consultation Times: To be announced, or
by appointment (email)
Miscellaneous:
There are no ancillary charge(s) required to be paid by the student to undertake the unit (as
published annually in the Curtin Courses Handbook).
CRICOS Provider Code 00301J
END OF UNIT OUTLINE
6/6
Download