Title: Teaching Web Development on .NET Framework
1Teaching Web Development on .NET Framework
- Andrea Molinari
- University of Trento Department of Computer and
Management Sciences
- Trento - Italy
2Introduction my experience
- teaching academic ICT courses since 1989 with MS
Technologies
- programming
- introduction to programming
- database programming
- web programming
- HCI (What? not Flash???)
- operating systems (What? not Unix/Linux???)
3The facts
- teaching using .NET since 2001
- two different Universities
- two different Faculties
- Computer Science
- Engineering
4The facts
- Current courses
- Internet technologies/ Internet programming
- Information systems
- Advanced Information systems
- Human Computer Interaction
5Courses structure
- 36/48 face-to-face hours
- 18/24 lab hours (tutorship)
- two/three months period
6Topics
- Programming
- Internet programming
- Advanced Database programming
7Topics
- Human Computer Interaction
- Labs in Vb.net
- Internet programming
- ASP.NET with VB.NET
- Database programming
- ASP.NET with VB.NET as test-bed, Sql-server T-SQL
8ASP.NET reasons of a choice
- My choices
- developing research prototypes with ASP
- previous experience with VB
- some far-sighted persons asked me to do.
- technically, I consider it a very good choice
- strategically (for students), I consider it a
very good choice
9VB(.NET) reasons of a choice
- Academic reasons
- facilitate event-driven and OO programming
learning
- ensure quick programming experience (Windows)
- vehicle for declarative programming (ex.SQL)
10VB(.NET) reasons of a choice
- Practical reasons
- students/companies want to build Win apps
- VB.NET and SQL open internship / job doors
- stage requirements
- its intuitive and easy
11VB(.NET) the reasons of a choice
- My position
- Bad reputation among some operators, once
correct, now absolutely unjustified and
groundless.
- Relatively simple but powerful, now fully OO
- ideal for building apps/interfaces quickly
- most widespread language for windows settings
- continue.
12VB(.NET) the reasons of a choice
-
- New programming environment framework .NET and
VS
- Same language in different settings office,
macros, various prgms, calculators,
- Used for Internet programming in .NET
13VB.NET the problems
- students background
- Only Java/C
- VB6
- a brand new language
- fantasy-basic
- many linux-fans
- perplexity
- misconception
- hate no contamination strategy
- login to Tarantella, or accessing to a linux
server with VMWare, and W2k running all the stuff
14The unofficial reasons
- What? Still VB? Yes, yes and yes
- cross-environment
- office, Windows, Web, Mobile
- easy
- different to Java
- not taught in academic settings
- 25 years with Basic, from HP3000 to PDA?
15Why not C ????
- too similar to Java
- In that faculties, all students attend billions
of courses in Java
- a sort of latent request from students
..please, lets see something different.
- No knowledge reuse? No, I was surprised..
16Teaching Web development with .NET the syllabus
- Introduction to C/S programming
- VB.NET
- VS / web matrix
- HTML
- ASP.NET built-in objects
- web controls and user controls
- Data bound web controls
- ASP.NET Database
- Multi-tier programming
- file management, cache, security
17Whats left out
- deeper Framework knowledge
- C/S theory
- OO
- cache
- security
- XML
- web server management
- optimization
- DB programming
- multi-tier application
18Teaching Web development
- Many different areas needed
- solid HTML and CSS knowledge
- VB.NET basics
- language structure, statements, variables etc.
- ASP.NET
- pages, objects, controls etc.
- DBMS
- mngt, SQL, connection strings, SP, triggers etc.
- IIS
- installation, configuration, management, TT .
- The O.S.
- security, user rights, performance monitor etc.
19VB.NET inside ASP.NET
- used from console applications to multi-tier web
applications
- console
- windows
- web
- no visual part, only language syntax and
procedural statements
20VB.NET
- the method
- all the materials is available online
- approx. 1 theoretical slide, 3 commented
exercises for each one
- many examples
- internet, books, personal
- slides with code chunks
- animations
- live sessions
- webcast
21VB.NET
- The method (labs)
- the exercise is presented and explained
- study groups, normally no one is working alone
- 2/3 students
- students try to find a solution, an outline is
given
- the solution is finally presented by me/tutor and
commented
22NON-objectives
- Full knowledge of the framework
- impossible to achieve in 18/24 hours!!!!
- The involvement of students is indispensable
- self-training
- books
- using study groups to increase learning
- take full advantage of VS
- I prefer they work hard on coding, at least at
the initial stage
23Final exam
- a project agreed with me (highly recommended)
- a fully-functional website
- no care about the graphics and special efx
- robust use of VB.NET
- full usage of the best tools of ASP.NET
- a DB of min. 6 tables as a back-end
24The difficulties the students side
- other than the usual difficulties in teaching
programming.
- web programming many concepts
- The framework
- the vastity
- the similarity with some J2EE concepts
- short time
- the parallelism with other courses covering
similar topics
25The difficulties2 the students side
- the most hated topics
- too many objects and properties
- too many ways to do the same thing
- ADO.NET Datasets
- DB connection
- setting up MS server (right-click admin)
- installing the framework
- HTML, CSS and the browsers war
26The difficulties3 the students side
- the most hated topics (and solutions)
- too many objects and properties ? VS
- many ways to do the same thing ? come to lesson
?
- ADO.NET Datasets ? take a good book
- DB connection ? MDB file with physical path
- setting up MS server ? I told you to study
W2K/W2k3 as an OS!!!
- installing the framework ? take the PC with you
- setting up IIS ? take the PC with you
27The difficulties4 the students side
- but there is one final solution
- TAKE A GOOD BOOK
- AND START FROM THE FIRST PAGE!!!
28The difficulties-5 around me.
- many resistencies in setting up a classroom with
MS server environments
- Linux is dominant in academy and in the
technicians preferences
- lab technicians ignore many server-side aspects
of MS technologies
- Trustworthy computing is far away..
- at the best, they use MS for printing and sharing
files
- the result NO services, NO IIS, NO SqlServer
29The difficulties-6 around me.
- It should be.
- a distributed development environment
- but it is
- a 127.0.0.1 environment
- Problems (from my point of view) no real world
feeling about
- publishing
- versioning control
- development team management
30The difficulties-7 around me.
- It should be.
- VS 2003
- IIS
- SQL Server
- but it is
- web matrix and (sometimes) its web server
- Access
- notepad
- Virtual machines, emulators etc.
31The difficulties-8 the market.
- some facts kill the motivation in promoting MS
technologies in academy
- few ISP
- available for deploying ASP.NET web sites and
related technologies
- available for using top-class back-end DBMSs
- MS technologies are changing too fast respect to
software life-cycle
- openness of MS products, prices, F/OSS
- something is changing
32Final comments my experience -1
- some influent roles inside academy dont approve
the use of MS technologies as part of a learning
process
- am I particularly unlucky?
- Though officially the teacher has the freedom to
choose.
- lets say..no stimulation in using MS
technologies
- in case of competition for contract positions, a
non-MS teacher could be preferred
33Final comments my experience -2
- sometimes I hide the usage of MS techs
- appreciated by companies
- in the end, appreciated by students
- not so appreciated for
- internal projects
- academic projects
- EU projects
- public bodies projects/collaboration
34Final comments my experience -3
- Official motivations for this ostracism
- too expensive
- not F/OSS
- I dont know it
- not trendy
- too market-oriented
35Final comments
- Motivation too expensive
- not completely exact
- IISASP.NET free
- Web Matrix free
- MSDNAA for the OS
- in case of large usage of this formula (many
colleagues said really all free?), is MS still
available?
36Final comments
- Motivations not F/OSS
- true, current initiatives are too blended
37Final comments
- Motivations I dont know it
- REALLY true
- MS technologies largely used in high-schools, not
used in academy
- Unix academic background is still prevalent
38Final comments
- Motivations not trendy
- in academy, teaching MS technology is not a good
visiting card
- nowadays, the free/opensource movement is largely
dominating didactic activities
- I totally disagree with this vision
- University is probably the last place where
people will have the chance to see different
technologies and approaches
39Final comments
- Motivations its too market oriented
- I dont want to explain general concepts with a
proprietary technology
- partly true, this is a problem for MS that must
be solved
- though I was never embarassed by market
technologies.
40Results
- pros.
- many enthusiastic students
- many of them developed the final project as a
real-world website for someone
- companies appreciate ASP.NET skilled people
- our research group have skilled people for
research prototypes
41Results
- and cons
- no coordination with other courses
- too little time for all the topics
- few resourses
- really tough for those who dont like prgm
42Results
- Students
- pass the exam (95.4)
- I dont remembet a student taking the exam at the
first session
- the content of the project is larger than
expected but
- the additions are not optimized
- no one asks for additional books or sources
- some attempts to copypaste from Internet
43Results
- What do they appreciate of ASP.NET?
- fastness in creating a full-branded website
- simplicity in doing that
- potential for their future job
- the development environment
- the integration with the OS
- ASP.NET 2.0.?
44Results
- What do they NOT appreciate of ASP.NET?
- .NET vastity
- doing same thing in different ways
- being a MS technology
- ASP.NET 2.0
45Results
- What do I NOT appreciate of ASP.NET?
- .NET vastity
- the difference between programming and design
- some things corrected in ASP.NET 2.0
46Results
- other aspects
- better to teach to non-MS students rather than
old VB6/ASP programmers
- Deep knowledge of
- HTML, Javascript, CSS
- necessity at least of
- one preceeding module
- one following module
47My wishing well
- less ostracism in academic settings
- more time the topic is vast as the tools are
- more coordination with other modules
- programming, operating systems, database
- more MS o.s. concepts, on the server side
- leaving the desktop approach to MS
- services, security, authentication, performance
monitoring.
- XML.
48My wishing well
- As we are forging future MS customers, from MS as
a whole, I would expect
- more investments
- more care
- more support
- to academic teaching problems
- more partnerships on the teachers side
- you dont solve the issue just with MSDNAA
- TechEd?
- probably, a different marketing strategy on
Academic settings
49- Thank you for your attention, waiting for
comments.