550 likes | 626 Views
Welcome to the T9 course: .NET Programming for the Business Session 1. Welcome. Morten Høgh M.Sc. in engineering (2002 Technical University of Denmark) 50% Computer technology, 50 % high voltage. Fulltime developer since 2000 (part time from around1995)
E N D
Welcome to the T9 course: .NET Programming for the Business Session 1 Welcome
Morten Høgh M.Sc. in engineering (2002 Technical University of Denmark) 50% Computer technology, 50 % high voltage. Fulltime developer since 2000 (part time from around1995) Worked for 4 companies this far (Proventum,Basset,Mondo and GlobeTeam) Lives in Skodsborg (just north of Copenhagen) The teacher … me
Works fulltime at GlobeTeam A/S Technical project lead / developer GlobeTeam A/S: Located in Copenhagen App. 70 consulents Develops applications for misc. industries ~100% Microsoft products, Gold partner Other: Own company developing shop/auction software The teacher … me
Here to learn and enjoy the features of the .NET framework Many nationalities Many backgrounds Different reasons to join Different goals Different expectations The Student … you
The warning … This Course Is HARD!
Spring 2007 course: 62 Students stated 45 enrolled to the exam 38 submitted a report 38 passed 38 % loss total 100% of those who took the exam passed Proof ..
The result .. Avarage: 9.1
Very relevant Interesting content Very important to get the link between customers and developpers Good slides Good demonstrations Evaluation, Positive
Too broad and too shallow content The mini-project is too large and too complex Course is much harder than expected Exercises are too hard Not enough focus on C# Evaluation, Negative
“I thought I could do it all by self-study” “The teacher made a strange comment in the first lecture” “The exercises are just made to annoy us” “The teacher is stupid” “Please install a coffee machine in hallway” Evaluation, Strange comments
How many consider their programming skills as “basic”? Medium…? Expert…? Language (C/C++, Java, Basic, Pascal, Delphi) On what platforms (Unix, Windows)? Strong Business skills? How many know UML? XML? How many are familiar with OO concepts? Current state of knowledge
Name: T9 - .NET Programming for the Business ECTS: 7,5 Points (app. 125 hours total or 15-16 hours a week) Language: English in classes / exercises (in pauses you can speak Danish with me if you can, and want to) Duration: 12 weeks Homepage: http://www.ebuss.dk Participants: 40 enrolled (maximum allowed) (some on waiting list) Qualifications: Basic object oriented programming Basic XML Basic Database knowledge Basic UML Basic HTML Exam: Oral - new scale, based on a mini project. The course
Author: Jesse Liberty Title: Programming C# Subtitle: Building .NET Applications with C# Fourth Edition: February 2005 ISBN: 0-596-00699-3 Pages: 666 The book
Many other books are available. Look for: Microsoft Visual studio .NET framework 2.0 XML Coding tactics Websites (http://msdn.microsoft.com, http://www.microsoft.com/net/basics). User groups, magazines… Other materials
Maybe a good a idea to subscribe (at no cost) to http://www.codeproject.com http://www.gotdotnet.com/ http://msdn.microsoft.com Ask questions to newsgroups: Microsoft.public.dotnet.framework* (on server news.microsoft.com) Peer groups Other materials
Microsoft based operation system (Windows) We will use Microsoft Visual Studio in class and exercises We will use the latest Microsoft Visual Studio 2005 We will use the latest .NET framework 2.0 We will do all programming in C# Development platform
All conversation during class and exercises will be in English Questions are more than welcome ! No questions are stupid, The only thing seeming stupid might be my lack of knowledge about specific areas. I might not be able to answer all question offhand. Dialog! If you don’t ask questions, I will ask you. Small problems (~10 min. cases) will be given in class at a regular basis. This is how we’re gonna do it!
Each Thursday from 9-12 Exercises are not supervised by me, anther teacher/student will be there to help and answer questions Exercises will reflect the content of the lectures Exercises
The Exam will be based on a project. The project will reflect a “real” business scenario. Individual examination (new rules) The grade will be given based on the project report and the presentation New grading scale The Exam
The technical content of the examination is high. But technical contents alone is not enough. You will not be able to do this if you do not: Work together. Do the exercises. There are exercises every week (except this first time). The Exam
Yet to announced. The content will be a mix of all the techniques and skills acquired through the duration of the course. The project will result in one or more application and a report describing the application and the ideas behind. Will not be the same as last semester The Project
Mail, newsgroups, browsers etc. Custom build system for transferring information. On Line Analytical Processing (OLAP) Statistics Reports Overview in general Back office systems (e.g. internet shops) Account handling Stock count Data manipulation in general Business applications .. an explanation Take 5 minutes to write down what you think a business application is.
An example: Google heavily simplified Transfer protocols, network drivers, Logging application, query parser … Browser Database drivers HTML generator Index/database application More queries, transfer protocols Document database
Why is the interest so great ? Reliability (computers don’t make errors) Efficiency (humans are very slow) Cooperation between companies (more potential customers) Technological advancement Why do we do it when it so expensive ? Cost efficient systems “Because the others do it” Changing world Human nature – More, faster, bigger, better. Business applications .. an explanation
A platform for the “next generation” software “Easy”(™) to maintain, develop and customize systems that interact with human clients or other internet based systems Better performance Better security in applications Greater stability Better damage control .NET – Seen from the CEO level
Enables distributed systems and highly efficient solutions through the concept of “Web services”. It provides developers with a single approach to build both desktop and Web-based applications. .NET – The idea and demontration
This demo will show you how to: Lookup information about a US city based on a zip code. (http://www.webservicex.net/uszip.asmx) Using that same web service in an application using under 10 lines of code. Demo: A web service
Software built on the .NET Framework is easier to deploy and maintain than conventional software. Automated installation Better and precise error handling/error messaging The .NET Framework minimizes conflicts between applications by helping incompatible software components coexist. (DLL hell) Wide range of supported languages. Microsoft supports and develops the following: C# Visual Basic C++ J# .NET developer benefits
Other supported languages not developed or maintained by Microsoft: Ada Ada, AsmL, CAML, Cobol ,Delphi, Forth, Eiffel, Fortran, Haskell, Lisp, Lua, Mercury, Mixal, ML, Mondrian, Nemerle, Oberon, Pascal, Perl, PHP, Prolog, Python, RPG, Ruby, Ruby, Scheme, Smalltalk Development tools from several vendors. Secure environment. Strong naming. .NET is based on open standards (XML, SOAP, C# etc). .NET developer benefits
Less need for 3rd party components .NET has over 4000 classes included in the 2.0 Framework Sending mails (HTML, pictures, font sizes etc) Transfer protocols (FTP, Telnet, serial / parallel ports) Externals devices (Printers, scanners, mice, joysticks) Text manipulations Mathematical operations Etc For a full list see (http://msdn2.microsoft.com/en-us/library/ms229335.aspx) .NET developer benefits
.NET Framework Windows UI ASP.NET ADO.NET: Data & XML .NET Framework class library Common Language Runtime High level overview
.NET Framework Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers Code Manager Garbage Collector Class Loader Common Language Runtime
System Collections IO Security Runtime Configuration Net ServiceProcess InteropServices Diagnostics Reflection Text Remoting Globalization Resources Threading Serialization The .NET Framework Class Library
Source code VB C# C++ Unmanaged component Compiler Compiler Compiler Managed code Assembly IL code Assembly IL code Assembly IL code Common Language Runtime JIT compiler Native code Operating system services The CLR Execution model.
The following is an overview of this course. Beware! The timing is not yet completely finalized. Please check on the web site for changes. The Future
We will cover basic syntax, schemas, XPATH, XSL/T and investigate several useful vocabularies. XML
Object oriented features are vital to the .NET framework. We will cover polymorphism, inheritance and other OO features. We will discuss class diagrams, sequence diagrams and use cases as vessels for capturing requirements. OO/UML
We will be using C# for all examples and all code developed by students must be written in C#. In this session we will go through the C# language in enough detail to allow students to start writing code of their own. (app. 2 sessions) These are very important sessions, show up ! C# - Programming
No business application is much good without access to the data that drives the enterprise. We will look at what databases are, exemplified by MS SQL server. We will examine how .NET provides a data model for accessing data from any data provider, and provides a useful data abstraction. We will present ADO.NET architecture and explore how it may be used in both online and offline scenarios. We will show how data may be bound to controls. Data access
We will show how rich user interfaces may easily be developed using WinForms. Easily implementing sound, graphics and video into application. Making client applications communicate with external systems How to present data en an elegant way. WinForms
We shall review the basics of the web. The differences between the programming models afforded by the client based systems and the web based systems will be discussed. We will focus mainly on the use and implementation of web services on ASP.NET. The web
We will learn how to program for mobile devices using the .NET Compact Framework. Mobile devices
Testing is a vital part of software development. Quality cannot be acheived through testing alone. The three main approaches to testing are presented. Black box testing White box testing Gray box testing Developing in a large organization is very different to hobby programming and academic programming. Testing / Development process.
Middleware is the term used to describe software that facilitates dataflow between applications. We will present message queues and how to use them to securely transfer data in online/offline scenarios. Middle ware
Yet to be announced! The session will be used either as a buffer or if time allows, I will dig deeper into some aspects of the previous sessions. Suggestions are welcome. The session will NOT be used as a Q and A for the upcoming exam. Mystery session
Lecture 1: introduction Lecture 2: c# Lecture 3: c# / Project Lecture 4: databases Lecture 5: webservice / xml Lecture 6: web Lecture 7: web / demo Lecture 8: winforms Lecture 9: winforms / demo Lecture 10: portable / demo Lecture 11: security Lecture 12: buffer Lecture plan