Application Development,.NET Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals. Orsys proposes a set of courses on the most important topics in IT technologies and management. Hands-on courses C# Programming... Best ( p2 ) Visual Basic.NET, Programming... Best ( p4 ) ASP.NET 2.0/3.5 Web Development... Best ( p6 ) ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 1
Hands-on course, 5 day(s) Ref : PSH Pre-requisites Programming experience and knowledge of computer languages. Experience with the C language would be an asset for this course. Next sessions Brussels dec. 14 2015 Geneve dec. 14 2015 Luxembourg dec. 14 2015 C# Programming Best > Application Development >.NET OBJECTIVES This course covers the C# language with a deep coverage of the object oriented programming concepts. During the course participants will develop object oriented applications using C# and Visual Studio 2008/2010 within the.net Framework. 1) Introduction 2) Language syntax 3) Object Oriented Programming 4) Class development and objects creation 5) Interfaces 6) Exception handling 7) Assemblies 8) Application development with.net technologies The practical exercises have been designed to illustrate all the elements of the language and to implement the concepts of object-oriented design: all the exercises contain an analysis/design stage followed by a programming stage. 1) Introduction - Principle and architecture of the.net environment. - Main components: language, CLR, CTS,... - Benefits of the MSIL language. - Execution model in.net: managed execution benefits. - Visual Studio. Type of projects. Help and documentation. Development of a Windows application using the C# language. The steps necessary to construct, compile and run a program are covered in detail. 2) Language syntax - Basic understanding of the C# language. - Values, operators and variables. - Reference types : classes and interfaces. - Exception handling. Program structure. - Program debugging. Programs development in C#. 3) Object Oriented Programming - Encapsulation and abstraction. - Classes and objects. Inheritance. Polymorphism. - Multiple interfaces implementation. - Introduction to the modeling language UML 2.0. 4) Class development and objects creation - Class and object definition. - Class members: methods and properties. - Static members. Overloads of methods. - Object's life cycle and the garbage collector in action. - Benefits of a typed language. - Application structure through Namespaces. - Inheritance: which members are inherited from a derived class? - Abstract class. Generic collections and classes. Development of a C# application highlighting the main tasks of a professional.net developer. 5) Interfaces - Definition. Explicit and implicit implementations. - The role of the interface in inheritance. Development of an object oriented C# application using the design by contract paradigm. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 2
6) Exception handling - Principle. Best practices in exception handling. - Creating a custom exception class. Libraries. Exception handling implementation. 7) Assemblies - Definition. Organizing a project through assemblies. - Creating shared assemblies. Assembly deployment. - Use of the Global Assembly Cache (GAC). Creation of shared assemblies. Distribution to the users' desktop and GAC 8) Application development with.net technologies - Evolution of the data access model in.net Framework. - ADO.NET technology for data handling. - Web development with the ASP.NET namespaces. - Service Oriented applications using Web Services. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 3
Hands-on course, 5 day(s) Ref : VBN Participants The course is aimed at experienced professional developers who want to learn VB.NET development. Pre-requisites Good knowledge in programming. Basic knowledge of the object principles. Necessary experience of software development. Next sessions Brussels dec. 7 2015 Geneve dec. 7 2015 Luxembourg dec. 7 2015 Visual Basic.NET, Programming Best > Application Development >.NET OBJECTIVES This course will teach you how to develop VB.NET applications with Framework 2.0, 3.0, 3.5, 4.0 by applying object programming principles. It will give you a complete mastery of the language, including using libraries and interfacing with other languages. 1) Introduction to the.net platform 2) Basic syntax: data, expressions and instructions 3) Object-Oriented Programming 4) Classes and objects in VB.NET 5) Interfaces Half of the course is done through workshops. 1) Introduction to the.net platform 6) Exception handling 7) Assemblies 8) Framework.NET's base classes and object 9) Handling inputs/outputs 10) Applications developed with Framework.NET - The principles and architecture of the.net environment. - Object distribution architecture in.net, executing remote objects and components. - Structure of a VB.NET program. The namespace notion. - Presentation of Framework.NET. - Development environment and tools. - MSIL language: the principles of the intermediary language, and JIT (Just In Time) compilation. Example of the minimum VB.NET program. Managed mode execution. Using the Visual Studio. 2) Basic syntax: data, expressions and instructions - Values, operators, manipulating variables. - Data types: Common Type System. - Complex data: tables. Handling tables, creating and manipulating them. - Flow control instructions: loops, test, flow control. - Functions. - Program sequencing, the notion of exceptions. - Some minor new features: Continue, IsNot, Using, property visibility, support for non-signed types, Global key word, TryCast. - IsTrue and IsFalse operators. - Generating documentation. Writing basic programs in VB.NET. 3) Object-Oriented Programming - Classes and objects: real world object modelling. - Notions of attributes, methods and properties. - Inheritance. Polymorphism. - Implementing multiple interfaces. - Representing the object model. 4) Classes and objects in VB.NET - Defining classes. Defining objects. - Defining the content of the class: methods and attributes. Overloading methods and operators. - The life cycle of objects: constructor, destructor. - Typing in VB.NET: type handling and conversion. - Properties. Definition. "read only" properties. - Visibility of the members of a class: properties and methods. Using namespaces. - Deriving and inheriting classes. Controlling access during derivation. - System.Object base class. - Manipulating attributes: the principle of metadata. Class, method, field attributes. - Manipulating and handling tables. Handling memory. Using the garbage collector. - Foreach structure and indexer: principle and utilisation. - Partial classes. Customised event management. Generic classes. Cancellable types. - Covariance and contravariance of delegates. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 4
Writing base classes. Manipulating methods and properties. Deriving a class. Using attributes, indexers and tables. 5) Interfaces - Principle.Declaring and utilising an interface. - Interfaces and inheritance. The principle of multiple inheritance through interfaces. Writing programs implementing interfaces. 6) Exception handling - The principle of handling exceptions and events. - The structure of inter-language exception handling: triggering an exception in one language and processing it in another. Example between VB.NET and C#. - Using delegates: static and dynamic delegates for handling events. Handling exceptions in VB.NET. Example of inter-language exceptions. Utilising delegates. 7) Assemblies - The notion of assembly. Creating an assembly. Organising a project through assemblies. - Private assembly and shared assembly: signature, role of the GAC (Global Assembly Cache), implementation in the GAC. Assembly with a delayed signature. - Assembly and multi-language support. Organising development with assemblies. Creating a public assembly. Using sn (Strong Name) for the signature, implementation in GAC. 8) Framework.NET's base classes and object - The principle of Framework. - CTSs: base classes (Int, String). - General class:.net System, Threading. - Data structure manipulation class: Math, ArrayList. - Processing chains, date and time. - Dynamic tables. Regular expressions. - Implementing type conversion through classes. Creating the type through an instance. Using base classes. Using types as classes of the.net environment. 9) Handling inputs/outputs - The hierarchy of classes. - FileStream and StreamRead/StreamWriter. - Manipulating the file system. - Asynchronous Inputs/Outputs. Using.NET classes for inputting/outputting. 10) Applications developed with Framework.NET - The essential elements of Famework: user interface with Windows.Form, ADO.NET, ASP.NET, Web services. - Multi-target development:.net peripherals, development targets. - The architecture of applications with Web Services. - Example of programs using.net's essential components. - Other areas of.net: integrating Web services. Example of an application with a graphics interface. Using Windows.Forms. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 5
Hands-on course, 5 day(s) Ref : AST Participants Developers willing to develop robust Web applications using the successful.net technologies - ASP.NET and ADO.NET - under the Visual Studio IDE. Pre-requisites Ability to create HTML pages including table and forms. Familiarity with C# or VB.NET language is an imperative prerequisite in order to follow the course. Next sessions Brussels nov. 30 2015 Geneve nov. 30 2015 Luxembourg nov. 30 2015 ASP.NET 2.0/3.5 Web Development with VS 2008 L1 Best > Application Development >.NET OBJECTIVES This course will teach you how to develop real-world Web applications using the new features and functionality included in the ASP.NET 4.0/3.5. The course explains how to use Visual Studio built-in tools to access data by using ADO.NET. A module also covers how to create and publish XML Web services. 1) Introduction to Internet and Intranet development 2) Concept of dynamic pages creation 3) ASP.NET HTML and Web controls 1) Introduction to Internet and Intranet development 4) Data source controls and data binding with ADO.NET 5) XML Web Service - Basic principle of a web server and html requests. - Static and Dynamic web sites. - Introduction to the.net Framework. Benefits of the CLR execution model. - Main components used in today's web applications: ASP.Net, ADO.Net, Web Services, Framework.NET. - Keys to develop a Web application with ASP.NET. - Using the Visual Studio.NET toolbox to add server controls to a Web Form. Using Visual Studio 2010/2008 in order to create a web site and an input form. 2) Concept of dynamic pages creation - Principle and challenges. - Managed ASP.NET : inline code and codebehind. - Adding and using web server controls. - ViewState persistence. - Client persistence with the cookies collection. Server persistence with Session object and Application object. - The new enhanced persistence approach. - Fundamentals of a Web Form : Page Object. - Life cycle of the Page Class: events management. - Croos-pages PotsBack mechanisms. - Specific web files and folders in ASP.NET. Development of a Web Application involving cross-page postback through web forms. 3) ASP.NET HTML and Web controls - Transforming HTML controls and expose clients and servers events. - Exploring the namespace Web.UI.HtmlControls. - How to use the HtmlGenericControl class. - Integration with client script language like JavaScript. - Exploring the Namespace Web.UI.ServerControls. - Functionalities exposed from the basic server controls. - How to use the client-side and server-side validation controls to screen data. - User, Content and Rich Controls. Creation of an advanced user interface. 4) Data source controls and data binding with ADO.NET - Creating a Connection to the Database. - Displaying a DataSet in a List-Bound Control. - XML and the DataSet Object. - Development of web apps using Master/Details controls (GridView, DetailView, FormView, etc.). - Accessing Data with DataReaders. Using the new DataSource Model. Accessing an SQL database from an ASP.NET page and incorporating the data into the Web application. 5) XML Web Service - Overview of XML Web Services and SOA Architectures. - Calling a Web Service by HTTP. Use of a Proxy. - Creating and consume an XML Web service. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 6
Use the templates in Visual Studio.NET to create an XML Web service. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 7
Hands-on course, day(s) Ref : MUC Participants Pre-requisites Good knowledge of one of the three languages aimed in this course (Java, C#, C++). Basic knowledge on concepts of multicore development. > Application Development >.NET OBJECTIVES At the end of this course you'll have a better comprehension of Multicore architecture and programming: multithreaded and multi process design techniques are presented along with languages dedicated to parallel task programming. You'll also deal with synchronization constraints and, especially on how to avoid issues when manipulating data. 1) Introduction 2) Application Design 3) Threads 4) Process 5) Parallel task programming 6) Conclusion BOUML, an open source application, will be used for UML design; Visual Studio express#for C# and C++ programming; NetBeans# 6.x for Java. All demonstration samples will be based on UML, Java, C++ and DOT Net. 1) Introduction - The stakes of Multicore Programming in coming years. - General view on technologies that will be used: processes, threads parallelism. - Reminder of how a processor works. - #Hyper threaded# architecture. - INTEL# and AMD# processor architecture. - Nvidia# and ATI# architecture. - Preparing for synchronization aspects: common cases. 2) Application Design - Design importance. - Parallel Tasking (ex: calculation). - Use of asynchronous mechanisms: processes, threads... - From scratch application development: precautions and design. - Avoiding #singletons#. - Modifying an existing Multicore application: some of the issues. - Making a correct choice of architecture: good balance between synchronization and performance. - Choosing between multiprocess and multithread design. 3) Threads - Thread organization in a system. - Threads in systems and languages (sample: Java,.NET and C++). - Thread contribution to industry applications. - Thread scheduling in systems: #round robin# algorithm. - Stacks management and #call stack# in threads. - Multithreaded debuggers: ex Visual Studio andnetbeans#. - Synchronization management objects: critical sections, Mutexesand Semaphores. - #Thread safe# development. - Development rules for multithreaded applications. - Threading API in Windows, Java and DOT Net. - POSIXAPI. Threads and synchronization in DOT Net, Java and C++. 4) Process - Memory addressing in processes. - Multi process approach criteria. - Overview of Inter Process Communication (IPC) techniques. - Debugging Multi Process applications;new tools (ex: Visual Studio 2005). - Multi Process: benefits and drawbacks of the technique. - Unique feature: #AppDomain# in DOT Net. Asynchronous tasks management through Windows API. 5) Parallel task programming - Features and aims of parallel tasking. - #Parallel FX#: the DOT Net library for parallel tasking. - PFX architecture and spirit. - TPL componentsand PLINQ. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 8
- C++ #OpenMp# library. - Available #OpenMP# directives. - Using graphical devices GPU for calculations. - Nvidia (CUDA) and ATI developer kits. - Applications samples that use the libraries. - Code sample and comments. Feature parallelized algorithms with PFX C#. Create parallelized algorithms with #OpenMP# and C++. 6) Conclusion - Review of studied techniques. - Multicore and the future of C++. - Synthesis of design, threads, multiprocess and parallel tasking features. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 9