.NET in the IT Curriculum Paul Roe Queensland University of Technology, Australia

Slides:



Advertisements
Similar presentations
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Advertisements

CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
Welcome Windows SharePoint Service 3.0. Craig Carpenter MCSE, MCT Director, Combined Knowledge.
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Microsoft.Net Technology Sachin Shetty Vimal Amin Thomas Mullasaril Vinutna Pulavarti Software Engineering CS616 Instructor:Dr.Tappert.
CSE3030Lecture 11 Know Your User The First Slogan.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
SM3121 Software Technology Mark Green School of Creative Media.
VS.NET Course Introduction By Peter Huang. About Me Peter Huang –Microsoft Certified Solution Developer (MCSD) –Sun Certified Java 2 Programmer (SCJP)
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Presented By: Ayelet Birnbaum Yael Kazaz Supervisor: Viktor Kulikov 07/05/12.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Understanding and Managing WebSphere V5
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology
Introduction to.NET. Getting Started Isn’t.NET development expensive? If.NET was important then we would learn about it at University.NET is proprietary.
Chapter 1 Introduction Outstanding Features About This Book 1. A novel writing style is adopted to try to attract students’ or beginning programmers’ interesting.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
IT Academy Benefit Overview
The New Collegiate University Development Database - Implementation Issues Stewart Watson 16 th June 2008.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
IBSS Inc (International Business Software Solutions Inc.) Microsoft.NET.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
VS.NET Syllabus By Peter Huang.
High thoughts must have high language. Aristophanes
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
Introduction to .NET Rui Ye.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
GROUP PROJECTS IN SOFTWARE ENGINEERING EDUCATION Jiang Guo Department of Computer Science California State University Los Angeles April 3-4, 2009.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Node Mentoring Workshop “Sharing What We Node” Middleware Breakout Session.NET New Orleans, Louisiana February 9-10, 2004.
Module Info Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Training Presentation Tier Design using an Event Driven.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
Presenter Microsoft IT Academy (ITA) Overview. Agenda What is ITA? How to Request Membership Resource Dive.
Benefits overview Speaker name goes here.
SOA Concepts Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2009 Session 1: January 28, 2009 Instructor:
IT274 Intermediate C# Programming Instructor : Vladimir Gubanov, PhD AIM : vladimirg77.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Introduction ITEC 420.
How to be a SharePoint Developer
WebSphere Diego Leone.
What is SharePoint and why you should care
Introduction to .NET Framework Ch2 – Deitel’s Book
CMPE419 Mobile Application Development
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
XML Based Learning Environment
CMPE419 Mobile Application Development
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

.NET in the IT Curriculum Paul Roe Queensland University of Technology, Australia

2 QUT Queensland University of Technology (QUT) One of largest universities in Australia: 40,000+ students (undergraduate, postgraduate, 10% international) Applied emphasis, strong links with industry e.g. Microsoft Motto “A university for the real world” Faculty of IT, 4000 students, 20% international Brisbane

3 My Background Academic at QUT for 12 years Spent last 5 years utilising Microsoft.NET in teaching and research –Initially Project 7 - academic programming languages for.NET –Subsequently other projects and teaching I am a computer scientist interested in –Programming languages –Distributed computing Practical / applied emphasis Disclaimer: these are my views, not Microsoft’s, not QUT’s

4 Overview Teaching using.NET Some QUT Subjects using.NET Brief Aside: Research Conclusions Based on my experience (and others at QUT) –what we tried, what worked, what didn’t work, what we might try next, …

5 Why use.NET in Teaching? State of the art: languages, runtime, libraries Industry strength technology Can do simple things with minimal effort –This can enable teaching new subjects / ideas e.g. web app design for non IT students Can do exciting new things e.g. web services, mobile devices, games Excellent support for internationalisation In demand by industry Students love it.NET subjects very marketable Add balance to degree (most degrees, lot of Java & Linux in subjects)

6 How to use.NET in Teaching? Mix of technologies including.NET –Some subjects naturally comparative E.g. Component technology, comparative programming languages –Or require a mix of technologies: web services Single technology –Technology is a vehicle for teaching concepts E.g. web applications, intro programming –Industry relevance e.g. ASP.NET –Simplicity e.g. business process design for business students using Biztalk

7 Academic Reality Check: What should you really be concerned about in order to teach a subject with a new technology like.NET ? Resources, resources and resources! 1.Documentation –Textbooks –Reference material –Tutorials –Courseware –Videos 2.Software: availability, cost, resource implications, student access 3.Labs set-up and administration, systems administrators,… 4.People (with necessary skills) –Teaching assistants –Instructors –Students –Systems administrators

8 1. Documentation Documentation is excellent for.NET (my favourite feature!) Problem is navigating through all the doco and finding what you want There are good textbooks for.NET covering: –Intro programming using VB and C# –Compilers –Component software –Web applications –Web services –Even free online ones: –Etc.

9 1. Documentation: Professional SDK and Visual Studio documentation is excellent, includes: –Lots of example code –Walk throughs e.g. Creating a web apphttp://msdn2.microsoft.com/library/szatc41e.aspx –Programming guides e.g. C# –.NET framework class library us/library/ms aspxhttp://msdn2.microsoft.com/en- us/library/ms aspx –Quickstarts Developer website msdn.microsoft.com inc.msdn.microsoft.com –MSDN magazine – well written technical articles –MSDN developer centres for technology specific info –Videos, discussions, PDC conference videos e.g. Don Box on SOA Channel 9 training videos etc. Demos: walkthroughs, Quickstarts and PDC

10 1. Documentation: Academic Academic Alliance web site Courseware: MS curriculum repository x x I use all these resources extensively Augment lecture notes with 3 rd party documentation Can be difficult to find good overview documents suitable for academia

11 1. Documentation: Community Dev Hood (for prof developers) Gotdotnet Singapore Community site for students MSDN connection Singapore fault.mspx for professional, faculty and students fault.mspx

12 2. Software 1..NET SDK is free, as is Rotor (SSCLI - Shared Source.NET) and Mono (Open Source.NET) 2.Visual Studio 2005 and SQL server express editions free –Good for basic development, inc basic web dev – 3.MSDN Academic Alliance (MSDN AA) –Cheap scheme for: Labs: Can install Microsoft development s/w in labs Students: They can legally install same software on own PCs (for free!) –A great scheme! Includes Windows, VS 2005, … –If going to teach.NET ask Microsoft rep. about this –Overview presentation on the scheme 5d1aaa7d37af/program_overview.ppt 5d1aaa7d37af/program_overview.ppt

13 3. Labs Lots of issues, many different ways to set up labs, depends on circumstances May need to use Virtual PC or dual boot or boot loader if want to run other OS e.g. Linux too Can also use Windows terminal server Must automatically install Windows patches A good source of information –MSDNAA IT Solutions –Also (for building a development server) Generally easy to set up a lab for simple programming, can be tricky for web applications with databases, COM+, servers etc. – ask MS for help

14 4. People Tricky… Ok if small subject and can do everything yourself – lectures, tutorials, grading If got graduate students undertaking research using.NET → teaching assistants May need to promote.NET in your department –Can be difficult (but easier in current climate) –Can use.NET to teach standards e.g. web services –Use.NET in a mix, comparative subject –Systems administrators can be very difficult It can be expensive to get staff up to speed with new technology such as.NET, J2EE etc. –Time investment I’ve often started subjects then handed them to others

15 Cost effectiveness New technology subjects are expensive to develop and have limited shelf life  You can’t learn e.g. ASP.NET overnight (despite what some books might claim) Conversely traditional and theoretical material doesn’t age quickly Need to cost new subject and course development Need lightweight ways to test new subjects –Just in time subject development A strategy –Keep intro subjects e.g. first year stable ‘traditional material’ –Innovate and invest in final year just before students leave (or go on to research) –Have ‘open subjects’ which can be changed without involving university bureaucracy e.g. “Modern Topics in IT”, change material from year to year Use new technology to spice up old subjects e.g. computer architecture using video games, PCI-X, Xbox etc Teaching research nexus – use ideas, techniques, technologies in research and teaching

16 Some QUT Subjects using.NET

17 Some Subjects at QUT which use.NET 1.Web applications development* 2.Web Services* 3.Projects* 4.Mobile devices* 5.Programming Principles 6.Internationalisation 7.Compiler Construction 8.Component Technology *Subjects I’ve taught and I’ll discuss today = Tips, tricks and ideas I think are especially useful

18 1.Subject: Web Applications Development Subject about theory and practice of web application development e.g. eStores, web portals, etc. A capstone elective subject of 3 year Bachelor of IT degree Run four times since 2002 Serious programming subject –Uses.NET, in particular ASP.NET

19 Aside: What is ASP.NET? Framework for generating HTML – presentation tier for 3 tier web applications (ASP.NET often used to describe whole of.NET web applications) Very sophisticated framework for web applications ASP.NET Presentation Business Logic ADO.NET Data Access Database HTML over HTTP Client (web browser) Web server

20 Student Learning Objectives Understand issues of s/w development for web –Different from PC s/w development –Client server –State management –Architecture and design: n-tier architecture, data access –Security, scalability, performance, etc. Learn about some standard technology e.g. HTTP, HTML, XML, web services Gain programming experience with.NET, particularly ASP.NET

21 Subject Structure 2-3 hour lecture & 1 hour prac X 13 weeks (¼ full time student load × one semester) Assessment: 35% assignment, 65% exam Some guest lectures by Microsoft and their partners –ASP.NET overview and demos –Real world issues - deployment, project management, legacy code, etc. Prerequisites: intermediate OO programming, basic HTML, SQL

22 Documentation Lot of professional texts, few academic ones Visual Studio and SDK– excellent documentation –Walk throughs e.g. Creating a web app –Tutorials e.g. C# Tutorials –Reference e.g. SqlConnection Class –Quickstarts Web, particularly for generic technology: HTTP, HTML, XML MSDN Academic Alliance notes

23 Topics: –Web basics, HTTP, HTML, CGI, ActiveX, ASP/JSP (evolutionary perspective) –.NET basics: CLR, C# / VB.NET, VS.NET –ASP.NET –ADO.NET, N-tier architecture –Security –XML, web services –Real world issues: deployment, teamwork, debugging, performance etc. –New developments: P2P, business integration servers (Biztalk), etc. Most lectures mix of: –Concepts, design, architecture –Standards (e.g. HTTP, XML, web services) –.NET: practice inc. demos Also tutorials covering practical aspects of.NET, often using VS.NET walkthroughs Lectures Core topics

24 Lab Setup and Software Students developed and tested code on individual machines –Run web server and database on each PC Labs set up to run a boot loader (Rembo) –Multiple images, can force re-image if necessary –Students have admin permission Machine configuration –Windows XP Professional –Internet Explorer 6 –Visual Studio.NET Professional 2003 (moving to VS 2005 in 2006) –IIS (optional Windows XP Professional component) –SQL 2000 Server Developer Edition (moving to SQL Server 2005 in 2006)

25 Assignment (Project) Students work in pairs Serious programming assignment Use SQL Server, Visual Studio.NET, ASP.NET, VB.NET/C#, ADO.NET Demo and present system at end of semester

26 Assignment: Modify an Existing System Give an existing system, make modifications –Study a well architected system –Easier marking, less variation –Easier to scope project –Realistic – don’t start from scratch –Students write less code, spend more time understanding existing well designed system –Can constrain system e.g. give them database –Fewer installation issues Have server to deploy final system – easier grading (almost xcopy deployment) Use server virtualisation technology?

27 Example System: gasTix gasTix example event ticketing system like Ticketek # # Example system –Best practice –Well architected –Uses C# and VB.NET, database, security, ASP.NET, web services –Comes with all source code Described in: G. Sullivan, “.NET e-Business Architecture”, SAMS, 2002 (ISBN: )

28 Extending gasTix Gave them a database with some new tables –Force them to use that database, only access via stored procedures! Additional features –Customer registration –Support different counties –Web services address validator Assignment required them to understand existing code, but less coding for them to do

29 Example Assignment

30 New Front Page Login Choose country

31 Region Map

32 Region Map

33 Searching For Events

34 Booking

35 Alternatives to gasTix MS Duwamish books example – well documented, exemplar design – ary/en-us/dnbda/html/bdasampduwam7.asphttp://msdn.microsoft.com/library/default.asp?url=/libr ary/en-us/dnbda/html/bdasampduwam7.asp New starter kits for portals etc. (often only simple architecture …) Business case studies lt.aspx lt.aspx

36 Results Lots of interest from students: students each year Lot of material to cover Made good use of academic alliance program –Students can work on assignment using own PCs –Couldn’t run the subject without this! Assignments –Generally very good, extending an existing system works well –Used postgraduate students for staffing tutorials & grading assignments –Prizes for best assignments Grading very time consuming for start from scratch assignments, modification ones better Main issue: setting up database / shared machine for marking Good support from Microsoft Guest lectures went really well –Better student behaviour and participation than for academics!

37 2. Subject: Web Services Why Teach Web Services? Represent an important evolution in distributed computing Next generation internet –For all communications interprocess - Internet Will enable many new and exciting applications Design principles still being worked out –different from traditional distributed objects –interesting research follow ons Hot and important topic for industry Very attractive to students – WS is a hot topic

38 Web Services Subject Run twice Masters level Covers business and technical aspects of web services Used multiple platforms inc..NET, Apache Axis (Java), perl, IBM WebSphere etc. Cover theory and practice of web services inc. –Service orientation –XML processing –WS standards such as WS Addressing, WS-Security Taught jointly by Information Systems (IS) and Computing Science (CS) Mix of IS and CS students WS representative of IS CS convergence

39 Content Business rationale Service orientation and web service introduction XML and XML processing: inc Schema, XPath, XSLT, XQuery –Emphasised XML foundations of WS Low level WS: SOAP, WSDL, UDDI –Inc. implementations:.NET and Java High level WS protocols including WS Security BPEL, workflow, choreography Semantic web Some guest lectures from industry and researchers at QUT No textbook, lots of web references

40 Web Services Project Large assignment/project 40% (60% exam) Groups of 4/5 Not designed to be realistic! –Code all pieces: suppliers and consumers –Deliberately use a variety of implementation platforms & techniques Use WS-I interop example as a starting point – supply chain management ( Emphasised –Build all WS aspects of a system –Use a variety of implementation platforms, techniques and technologies –Web services Deemphasised: data storage and GUIs

41 WS Project Use a mix of implementation technologies –.NET most popular because easiest and most powerful –Also used other MS WS e.g. WSE, Indigo and Java, perl, PHP, … Equal cover of: –Business rationale –Service orientation, architecture etc. –Implementation Run Tomcat and IIS on one machine (different ports) –nice for students, can develop systems on one machine e.g. own PC Prototype demo mid-semester 30 min presentation / demo at the end of semester Two other check points during the semester – meeting with each group

42 Results 70+ students – excellent for a postgraduate elective Web service specifications changed underfoot! Many technologies immature – bleeding edge teaching!.NET by far easiest and most comprehensive support for WS Assignment –Large variation in designs, technologies etc. –Groups a little large –Many groups workflow / choreography was poorly expressed –Some advanced systems using WS Security interop etc. –Groups submitted source but difficult to rerun for further testing – Asked groups to state any known problems, robustness issues etc. This plus careful questioning during demo worked well Technology and specs should start to stabilise next year

43 3. Subject: Projects Projects (u/g & p/g) are a good way to test out technology for teaching or research I’ve run.NET projects involving: –Web applications development –Programming languages and compilers –Web services and grid computing –Mobile devices

44 4. Subject: Mobile Devices Subject on Software Development for Mobile Devices Uses.NET Compact Framework Builds on success of an u/g mobility project Also incorporate some wireless networking Restrict to a small class of 24 students (only got 12 devices!) –Alternative is to use device emulator, much improved in VS 2005

45.NET Compact Framework Reduced version of full.NET framework for small devices Program using C#, VB.NET etc. in Visual Studio Great way to develop for smart devices such as: Pocket PCs and MS Smartphones (students love it) Demo

46 Mobile Devices Run as a project / reading subject 100% project assessment, but with structured classes, lectures etc. Lectures on: –Intro to mobile devices –.NET Compact Framework –User interfaces inc thick and thin clients –Data, communications and synchronization –Advanced topics: security, background processing, native code interop –Guest lecture from MS & local industry Prototype demo and final presentation Tried peer review for final systems – rather variable some students very hard on one another, some too easy

47 One Project: Blood Glucose Monitor (Diabetic student) Blood glucose value entry History charts Upload data to doctor

48 Research

49 Research using.NET Many possibilities to use.NET in research –build on it and move up the food chain –no more reinventing the wheel E.g. research a programming language or debugger whichever interests you but you don’t have to do both Utilise the extensibility of.NET –You don’t really want the source code.NET can add impact to your research

50 Research using.NET at QUT Programming languages –Component Pascal –Ruby.NET –Metaphor: Staged programming language –GPSL: Web service language based on XQuery + join calculus Distributed computing –G2: Cycle stealing framework –Bio workflow using Biztalk –.NET wiki – collaborative environment For more details me or see:

51 Conclusions

52 Recommendations.NET good for: –New subjects e.g. web services, mobility, internationalisation –Making old subjects more interesting Can move up food chain and do more complex / interesting things Can do easy things for non-IT students Combination of new subjects and.NET itself are attractive to students Other possible subjects include: games, security, business process modelling

53 Technology Evolution Change = nature of IT (organic) Need to stay ahead of the wave In addition to research papers, read product roadmaps etc. Three generations of.NET (1.0, 1.1, 2.0) Use the latest generation 2.0 –Visual Studio 2005 –SQL Server 2005 Keep up with cool new stuff e.g. Project LINQ I expect future.NET SE developments in architecture, modelling and software lifecycle management

54 Students Students like to be involved, consider: –Local MS events –Community user groups Student community –MSDN connection –thespoke.net –Student MS rep Competitions e.g. ACM or Imagine cup – –QUT won Australia round of Imagine cup twice 2004 and 2005 Showing off: project exhibitions c.f. trade show –Invite industry

55 Where to From Here? Consider what you want to achieve, check costs and benefits Contact local MS rep – very helpful Investigate and sign-up for MSDN Academic Alliance Check out curriculum repository MS language is different from academic language –become conversant –alternative views can offer insights Start small, build knowledge and confidence –E.g. undergraduate projects good starting point Build team (if got large classes) e.g. post grad students for TA Speak to book reps – good.NET text books Pay attention to lab sys admin issues Make teaching research nexus work for you –Use research students, create Research / TA positions, use.NET in both Look out for MS RFPs, faculty events etc.

56 Thank you Questions? (Please feel free to me if you have any questions which arise later

57 5. Subject: Programming Principles Intro programming subject for conversion masters students (non IT graduates) Teaches programming fundamentals using C# Conventional programming in the small philosophy –‘Objects second’ Textbook: Ira Pohl, C# by Dissection. Addison Wesley, Uses.NET SDK, Visual Studio (MSDNAA) and ELP.NET

58 Standard Topics Fundamental concepts of programming Syntax and semantics of C# Problem solving through creating, editing, compiling and running programs Programming techniques –dynamic memory allocation, file input/output, linked structures Programming abstraction –using abstract data types such as stack and queue Testing, documentation including assertions, pre- and post-conditions Ethics in programming

59 ELP.NET IDE Environment for Learning to Program Programming environment to support students learning to program in.NET languages inc C# and VB.NET Web embeddable intro programming environment Features –Gap coding –Custom error messages –Small, written in.NET –Shared source Available from Result of a Microsoft RFP we were awarded –Look out for MS Teaching and Research RFPs

60 6. Subject: Internationalisation Covers internationalisation of software Important for Asia Pacific region Uses.NET, Oracle and Linux.NET has excellent support for internationalisation Main assignment, and emphasis,.NET –Project: Internationalisation of a contacts database/phone book Internationalisation is an area of expertise at QUT

61 7. Subject: Compiler Construction Traditional compiler construction subject Been using.NET since 2001 Subject revolves around a toy compiler which generates.NET intermediate code –Assignment involves extending this Just uses.NET SDK not Visual Studio Loudon, Kenneth, C. 1997, Compiler Construction, Principles and Practice, PWS, Boston. (doesn’t cover.NET)

62 8. Subject: Component Technology Distributed computing and component technology Java Beans, COM+,.NET –Assignments in each technology Uses Clemens Szyperski’s book: Component Software: Beyond Object- Oriented Programming, 2nd edition, Addison-Wesley 2002