.NET in the IT Curriculum - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

.NET in the IT Curriculum

Description:

Even free online ones: http://www.brpreiss.com/books/opus6/ Etc. 9 ... Visual Studio 2005 and SQL server express editions free ... – PowerPoint PPT presentation

Number of Views:235
Avg rating:3.0/5.0
Slides: 63
Provided by: paul86
Category:
Tags: net | curriculum | free | ones

less

Transcript and Presenter's Notes

Title: .NET in the IT Curriculum


1
.NET in the IT Curriculum
  • Paul Roe
  • Queensland University of Technology, Australia
  • p.roe_at_qut.edu.au

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

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 Microsofts,
    not QUTs

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 didnt 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 CheckWhat should you really be
concerned about in order to teach a subject with
a new technology like .NET ?
  • Resources, resources and resources!
  • Documentation
  • Textbooks
  • Reference material
  • Tutorials
  • Courseware
  • Videos
  • Software availability, cost, resource
    implications, student access
  • Labs set-up and administration, systems
    administrators,
  • 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 http//www.brpreiss.com/boo
    ks/opus6/
  • Etc.

9
1. Documentation Professional
  • SDK and Visual Studio documentation is excellent,
    includes
  • Lots of example code
  • Walk throughs http//msdn2.microsoft.com/library/s
    zatc41e.aspx e.g. Creating a web app
  • Programming guides e.g. C http//msdn2.microsoft.
    com/library/67ef8sbd.aspx
  • .NET framework class library http//msdn2.microsof
    t.com/en-us/library/ms306608.aspx
  • Quickstarts http//www.asp.net/Tutorials/quickstar
    t.aspx
  • Developer website msdn.microsoft.com inc.
  • MSDN magazine well written technical articles
  • MSDN developer centres for technology specific
    info http//msdn.microsoft.com/developercenters/
  • Videos, discussions, PDC conference videos e.g.
    Don Box on SOA http//microsoft.sitestream.com/PDC
    05/, Channel 9 http//channel9.msdn.com/,
    training videos etc.
  • Demos walkthroughs, Quickstarts and PDC

10
1. Documentation Academic
  • Academic Alliance web site http//msdn.microsoft.c
    om/academic
  • Courseware MS curriculum repository
    http//www.msdnaa.net/curriculum/repository.aspx
  • I use all these resources extensively
  • Augment lecture notes with 3rd party
    documentation
  • Can be difficult to find good overview documents
    suitable for academia

11
1. Documentation Community
  • Dev Hood www.devhood.com (for prof developers)
  • Gotdotnet www.gotdotnet.com
  • Singapore http//www.microsoft.com/singapore/msdn/
    academic/
  • Community site for students http//thespoke.net
  • MSDN connection Singapore http//www.microsoft.com
    /singapore/msdn/connection/default.mspx for
    professional, faculty and students

12
2. Software
  • .NET SDK is free, as is Rotor (SSCLI - Shared
    Source .NET) and Mono (Open Source .NET)
  • Visual Studio 2005 and SQL server express
    editions free
  • Good for basic development, inc basic web dev
  • http//msdn.microsoft.com/vstudio/express/
  • MSDN Academic Alliance (MSDN AA)
    http//msdn.microsoft.com/academic/
  • 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
    http//download.microsoft.com/download/f/f/8/ff8c8
    040-d1a7-4402-90df-5d1aaa7d37af/program_overview.p
    pt

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 http//msdn.microsoft.com/acad
    emic/solutions/itsol/
  • Also http//www2.msdnaa.net/devsystem/devsystem_20
    03.aspx (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
  • Ive often started subjects then handed them to
    others

15
Cost effectiveness
  • New technology subjects are expensive to develop
    and have limited shelf life ?
  • You cant learn e.g. ASP.NET overnight (despite
    what some books might claim)
  • Conversely traditional and theoretical material
    doesnt 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
  • Web applications development
  • Web Services
  • Projects
  • Mobile devices
  • Programming Principles
  • Internationalisation
  • Compiler Construction
  • Component Technology
  • Subjects Ive taught and Ill discuss today
  • ? Tips, tricks and ideas I think are especially
    useful

18
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

Web server
Client (web browser)
ASP.NET Presentation
Business Logic
ADO.NET Data Access
HTML over HTTP
Database
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 http//www.asp.net/tutorials/quickstar
    t.aspx
  • Web, particularly for generic technology HTTP,
    HTML, XML
  • MSDN Academic Alliance notes

23
Lectures
  • 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

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 dont 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
  • http//www.informit.com/title/0672322196
  • 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 0672322196)

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
Choose country
Login
31
Region Map
32
Region Map
33
Searching For Events
34
Booking
35
Alternatives to gasTix
  • MS Duwamish books example well documented,
    exemplar design
  • http//msdn.microsoft.com/library/default.asp?url
    /library/en-us/dnbda/html/bdasampduwam7.asp
  • New starter kits for portals etc.
    http//msdn.microsoft.com/vstudio/express/vwd/star
    terkit/ (often only simple architecture )
  • Business case studies http//msdn.microsoft.com/as
    p.net/info/casestudies/default.aspx

36
Results
  • Lots of interest from students 180-230 students
    each year
  • Lot of material to cover
  • Made good use of academic alliance program
  • Students can work on assignment using own PCs
  • Couldnt 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 (http//www.ws-i.org/)
  • 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
  • Ive 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 ProjectBlood 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 dont have to do
    both
  • Utilise the extensibility of .NET
  • You dont 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 email me or see
    http//plas.fit.qut.edu.au

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
  • http//thespoke.net/ViewContent.aspx?PostID807740
  • 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 http//msdn.microsoft.com/academic/
  • Check out curriculum repository
    http//www.msdnaa.net/curriculum/repository.aspx
  • 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
    http//msdn.microsoft.com/academic/solutions/itsol
    /
  • 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 email me if you have any
    questions which arise later p.roe_at_qut.edu.au)

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, 2003.
  • 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 http//plas.fit.qut.edu.au/elpnet/
  • ? 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 internationalisatio
    n
  • 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. (doesnt
    cover .NET)

62
8. Subject Component Technology
  • Distributed computing and component technology
  • Java Beans, COM, .NET
  • Assignments in each technology
  • Uses Clemens Szyperskis book Component
    Software Beyond Object-Oriented Programming, 2nd
    edition, Addison-Wesley 2002
Write a Comment
User Comments (0)
About PowerShow.com