Teaching Programming with .NET

Download Report

Transcript Teaching Programming with .NET

Teaching Programming with .NET
Paul Roe
Queensland University of Technology
[email protected]
My Background
• Academic at QUT for 10 years
• Spent last 3 years utilising Microsoft .NET
in teaching and research
– Initially Project 7
– Subsequently other projects and teaching
• I am a computer scientist interested in
– Programming languages
– Distributed computing
• Practical / applied emphasis
© Paul Roe 2003
2
QUT?!
•
•
•
Queensland University of Technology (QUT)
One of largest universities in Australia: 30,000
students (u/g, p/g, 10% international)
Strong links with industry eg Microsoft
Brisbane
© Paul Roe 2003
3
Why Teach Programming Using .NET?
• Cool & sexy: students like it, faculty like it
• Relevant: increasingly used in industry
• Modern and powerful
–
–
–
–
Stuff works as it should, not unnecessarily complex
Best and easiest way to write Windows apps
OO, G/C, reflection, components, smart devices, …
Can still write console programs e.g. hello world too!
• Excellent support for new stuff e.g.
–
–
–
–
–
–
Web sites (ASP.NET)
XML
Web services
N-tier architecture
Components
Smart devices
© Paul Roe 2003
4
Why Teach Programming Using .NET?
• My own belief – if going to teach about
modern software development, tools,
practice etc. need to use state of the art
technology (perhaps not necessary for first
year though)
• Balance
– Universities shouldn’t & can’t afford to be
biased
– Cover a balance of different technology fairly
and impartially
© Paul Roe 2003
5
What Do You Need to Teach
Programming Using .NET?
1. Textbook, plenty now e.g.
– Bishop & Horsspool “C# Concisely” AddisonWesley, 2003
2. Good free implementation
– Microsoft .NET SDK
3. Documentation
– Plenty of good quality documentation,
samples and complete systems with SDK
© Paul Roe 2003
6
What if You Want to Teach
Intermediate / Advanced
Programming?
• Want to use Visual Studio.NET, SQL
server, IIS etc.
• MSDN Academic Alliance to the rescue!
© Paul Roe 2003
7
MSDN Academic Alliance
• http://www.msdnaa.net/
• Academic alliance: scheme to support teaching
.NET in tertiary education
• Costs faculty $999 for one year
• Provides all s/w for teaching .NET development
–
–
–
–
Visual Studio.NET
Windows XP
SQL server
Not Office or games!
• Full versions, not doctored
© Paul Roe 2003
8
MSDN Academic Alliance:
Unbelievable but true!
• Covers s/w for college labs and for
students take home use!
• Students can legally take home and install
s/w on own PCs
• Great scheme!
• Also comes with course material on .NET
© Paul Roe 2003
9
Transition from Java
• Java to C# language, easy transition
– For students and academics
• Real complexity is in libraries
• There is also J#, Java language on .NET
– restricted to JDK level 1.1.4
– no bytecode
– Visual J++ migration
• Comparison of CLR and JVM and other interesting
papers: http://docs.msdnaa.net/ark/Webfiles/whitepapers.htm
• Intriguing idea teach an intro programming unit using
both Java and C#
• Transition from VB6 to VB.NET perhaps more difficult
© Paul Roe 2003
10
.NET at QUT
•
•
•
•
Compiler construction
Component technology
Software internationalisation
First year programming language for IT
conversion students (next year)
• Several subjects concerning eCommerce
– inc. Software Development for the Web
• Web services subject (next year)
© Paul Roe 2003
11
How to start?
• Read through high level overviews
• Look at some examples
• Student project to
– port some existing code e.g. assignment or small
research idea to .NET
– Investigate some new technologies e.g. web services
• Have a look at MSDN Academic Alliance site
• Look out for other academic and developer
events from Microsoft
© Paul Roe 2003
12