Andrea Molinari - University of Trento - ItalyAcademic days 2004 Teaching Web Development on.NET...

49
Andrea Molinari - University of Trento - Italy Andrea Molinari - University of Trento - Italy Academic days 2004 Academic days 2004 Teaching Web Development on .NET Framework Andrea Molinari University of Trento Department of Computer and Management Sciences Trento - Italy

Transcript of Andrea Molinari - University of Trento - ItalyAcademic days 2004 Teaching Web Development on.NET...

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy Academic days 2004Academic days 2004

Teaching Web Development on .NET Framework

Andrea Molinari

University of Trento Department of Computer and

Management Sciences

Trento - Italy

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 22 Academic Days 2004Academic Days 2004

Introduction: 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???)

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 33 Academic Days 2004Academic Days 2004

The facts

teaching using .NET since 2001 two different Universities

two different Faculties Computer Science

Engineering

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 44 Academic Days 2004Academic Days 2004

The facts

Current courses Internet technologies/ Internet programming

Information systems

Advanced Information systems

Human Computer Interaction

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 55 Academic Days 2004Academic Days 2004

Courses structure

36/48 face-to-face hours

18/24 lab hours (tutorship)

two/three months period

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 66 Academic Days 2004Academic Days 2004

Topics

Programming

Internet programming

Advanced Database programming

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 77 Academic Days 2004Academic Days 2004

Topics

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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 88 Academic Days 2004Academic Days 2004

ASP.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 99 Academic Days 2004Academic Days 2004

VB(.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)

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1010 Academic Days 2004Academic Days 2004

VB(.NET): reasons of a choice

Practical reasons students/companies want to build Win apps

VB.NET and SQL open internship / job doors

stage requirements

it’s intuitive and easy

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1111 Academic Days 2004Academic Days 2004

VB(.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….

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1212 Academic Days 2004Academic Days 2004

VB(.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1313 Academic Days 2004Academic Days 2004

VB.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1414 Academic Days 2004Academic Days 2004

The 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…

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1515 Academic Days 2004Academic Days 2004

Why 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, let’s see something different…. No “knowledge reuse”? No, I was surprised..

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1616 Academic Days 2004Academic Days 2004

Teaching 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1717 Academic Days 2004Academic Days 2004

What’s left out

deeper Framework knowledge C/S theory OO cache security XML web server management optimization DB programming multi-tier application

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1818 Academic Days 2004Academic Days 2004

Teaching 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, T&T …. The O.S.

security, user rights, performance monitor etc.

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 1919 Academic Days 2004Academic Days 2004

VB.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2020 Academic Days 2004Academic Days 2004

VB.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2121 Academic Days 2004Academic Days 2004

VB.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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2222 Academic Days 2004Academic Days 2004

NON-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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2323 Academic Days 2004Academic Days 2004

Final 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2424 Academic Days 2004Academic Days 2004

The difficulties: the student’s 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2525 Academic Days 2004Academic Days 2004

The difficulties–2: the student’s side

the most “hated” topics

1. too many objects and properties

2. too many ways to do the same thing

3. ADO.NET Datasets

4. DB connection

5. setting up MS server (“right-click admin”)

6. installing the framework

7. HTML, CSS and the “browsers’ war”

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2626 Academic Days 2004Academic Days 2004

The difficulties–3: the student’s side the most “hated” topics (and solutions)

1. too many objects and properties VS

2. many ways to do the same thing come to lesson …

3. ADO.NET Datasets take a good book

4. DB connection MDB file with physical path

5. setting up MS server “I told you to study W2K/W2k3 as an OS!!!”

6. installing the framework take the PC with you

7. setting up IIS take the PC with you

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2727 Academic Days 2004Academic Days 2004

The difficulties–4: the student’s side

… but there is one final solution:

TAKE A GOOD BOOK

AND START FROM THE FIRST PAGE!!!

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2828 Academic Days 2004Academic Days 2004

The 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 2929 Academic Days 2004Academic Days 2004

The 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3030 Academic Days 2004Academic Days 2004

The 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.

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3131 Academic Days 2004Academic Days 2004

The 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…

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3232 Academic Days 2004Academic Days 2004

Final comments: my experience -1

some influent roles inside academy don’t 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….

… let’s say…..”no stimulation” in using MS technologies

in case of competition for contract positions, a “non-MS” teacher could be preferred

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3333 Academic Days 2004Academic Days 2004

Final 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3434 Academic Days 2004Academic Days 2004

Final comments: my experience -3

Official motivations for this “ostracism”: too expensive

not F/OSS

I don’t know it

not trendy

too “market-oriented”

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3535 Academic Days 2004Academic Days 2004

Final comments

Motivation: too expensive not completely exact:

IIS+ASP.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?

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3636 Academic Days 2004Academic Days 2004

Final comments

Motivations: not F/OSS true, current initiatives are too “blended”

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3737 Academic Days 2004Academic Days 2004

Final comments

Motivations: I don’t know it REALLY true

MS technologies largely used in high-schools, not used in academy

Unix academic background is still prevalent

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3838 Academic Days 2004Academic Days 2004

Final 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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 3939 Academic Days 2004Academic Days 2004

Final comments

Motivations: “it’s too market oriented” “I don’t 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”….

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4040 Academic Days 2004Academic Days 2004

Results

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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4141 Academic Days 2004Academic Days 2004

Results

…and cons no coordination with other courses

too little time for all the topics

few resourses

really tough for those who don’t like prgm

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4242 Academic Days 2004Academic Days 2004

Results

Students pass the exam (95.4%)

I don’t 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 “copy&paste” from Internet

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4343 Academic Days 2004Academic Days 2004

Results

What do they appreciate of ASP.NET?

1. fastness in creating a full-branded website

2. simplicity in doing that

3. potential for their future job

4. the development environment

5. the integration with the OS

6. ASP.NET 2.0….

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4444 Academic Days 2004Academic Days 2004

Results

What do they NOT appreciate of ASP.NET?

1. .NET vastity

2. doing same thing in different ways

3. being a MS technology

4. ASP.NET 2.0

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4545 Academic Days 2004Academic Days 2004

Results

What do I NOT appreciate of ASP.NET?

1. .NET vastity

2. the difference between programming and design

3. some things corrected in ASP.NET 2.0

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4646 Academic Days 2004Academic Days 2004

Results

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

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4747 Academic Days 2004Academic Days 2004

My 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….

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4848 Academic Days 2004Academic Days 2004

My 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 teacher’s side you don’t solve the issue just with MSDNAA

TechEd?

probably, a different marketing strategy on Academic settings

Andrea Molinari - University of Trento - ItalyAndrea Molinari - University of Trento - Italy 4949 Academic Days 2004Academic Days 2004

Thank you for your attention, waiting for comments….