70-483: PROGRAMMING IN C#

35
Template designed by cert-path 70-483 – Programming in C# Roberto Freato – Freelance IT Consultant & Trainer MVP on Windows Azure, Microsoft Certified Trainer [email protected] - @childotg

Transcript of 70-483: PROGRAMMING IN C#

Page 1: 70-483: PROGRAMMING IN C#

Template designed by

cert-path

70-483 – Programming in C#

Roberto Freato – Freelance IT Consultant & Trainer

MVP on Windows Azure, Microsoft Certified Trainer

[email protected] - @childotg

Page 2: 70-483: PROGRAMMING IN C#

• Cos’è il cert path del DotNetCampus?

• Le certificazioni professionali, tecniche e di prodotto

• I diversi percorsi di certificazione Microsoft – MCP e MCT

• L’ esame 70-483: Programming in C#

cert path

Page 3: 70-483: PROGRAMMING IN C#

• La lingua universale del software (en-us)

• Esperienza vs. Studio

• Il programma d’esame

• Il metodo d’esame

focus

Page 4: 70-483: PROGRAMMING IN C#

Manage program flow (25%)

Create and use types (24%)

Debug applications and implement security (25%)

Implement data access (26%)

http://www.microsoft.com/learning/en-us/exam-70-483.aspx

agenda

Page 5: 70-483: PROGRAMMING IN C#

Let’

s g

o Manage program flow

Page 6: 70-483: PROGRAMMING IN C#

Implement multithreading and asynchronous processing

• Thread concepts, threadpool

• Task, Task<T>, Continuation

• EAP (event-based) & APM (begin/end)

• UI, Async/Await

manage program flow (25%)

Page 7: 70-483: PROGRAMMING IN C#

Manage multithreading

• Lock, AutoResetEvent, Mutex, Semaphore

• CancellationToken & CancellationTokenSource

• Concurrent Collections

manage program flow (25%)

Page 8: 70-483: PROGRAMMING IN C#

Implement program flow

• Arrays, Collections and generics

• Basic syntax (for, foreach, switch, expressions)

manage program flow (25%)

Page 9: 70-483: PROGRAMMING IN C#

Create and implement events and callbacks

• Delegates & Lambda expressions

• Events model

• EventHandler, EventArgs (“sender, args” model)

• LINQ (var + lambda + ext methods + an. types)

manage program flow (25%)

Page 10: 70-483: PROGRAMMING IN C#

Implement exception handling

• Study exception inheritance tree

• Try-catch-finally

• Custom exceptions

manage program flow (25%)

Page 11: 70-483: PROGRAMMING IN C#

domanda

Page 12: 70-483: PROGRAMMING IN C#

Let’

s g

o Create and use types

Page 13: 70-483: PROGRAMMING IN C#

Create types

• Struct, enum, class, interface

• Create generic types (generic methods)

• Static members

• Inheritance, abstract classes, override, overload

create and use types (24%)

Page 14: 70-483: PROGRAMMING IN C#

Consume types

• Casting types (as, is, boxing, explicit casting)

• Covert class

• Dynamic keyword

create and use types (24%)

Page 15: 70-483: PROGRAMMING IN C#

Enforce encapsulation

• Properties (get/set)

• Accessors (public/private/protected/internal)

• Explicit interface implementation

create and use types (24%)

Page 16: 70-483: PROGRAMMING IN C#

Create and implement a class hierarchy

• Inheritance, abstract methods

• Common interfaces: IComparable, IDisposable

• IEnumerable!!!!!!!!!!

• IUnknown?!?!?

create and use types (24%)

Page 17: 70-483: PROGRAMMING IN C#

Find, execute, and create types at runtime by using reflection

• Assembly, PropertyInfo, Type class

• Object base type

• NB: “reflect everything”

create and use types (24%)

Page 18: 70-483: PROGRAMMING IN C#

Manage the object life cycle

• IDisposable again (finalization, using)

• Garbage collection (really?)

create and use types (24%)

Page 19: 70-483: PROGRAMMING IN C#

Manipulate strings

• StringBuilder

• StringReader/Writer

• Regular Expressions

• String class, string.Format, Split, etc..

create and use types (24%)

Page 20: 70-483: PROGRAMMING IN C#

domanda

Page 21: 70-483: PROGRAMMING IN C#

Let’

s g

o Debug applications and

implement security

Page 22: 70-483: PROGRAMMING IN C#

Validate application input

• JSON (libraries?)

• Attributes

• Regex (again?)

debug applications and implement security (25%)

Page 23: 70-483: PROGRAMMING IN C#

Perform symmetric and asymmetric encryption

• System.Security namespace

• Hashing vs Encrypting vs Certificates

• Encrypted streams

debug applications and implement security (25%)

Page 24: 70-483: PROGRAMMING IN C#

Manage assemblies

• AssemblyInfo

• Signing assemblies (tools)

• GAC vs local copy (build action)

• WinMD

debug applications and implement security (25%)

Page 25: 70-483: PROGRAMMING IN C#

Debug an application

• Compiler directives (IF #)

• Debugging windows (immediate, locals, watches, etc)

debug applications and implement security (25%)

Page 26: 70-483: PROGRAMMING IN C#

Implement diagnostics in an application

• Logging, tracing

• Profiling (do it really)

• Performance counters (API)

• Event log

debug applications and implement security (25%)

Page 27: 70-483: PROGRAMMING IN C#

domanda

Page 28: 70-483: PROGRAMMING IN C#

Let’

s g

o Implement data access

Page 29: 70-483: PROGRAMMING IN C#

Perform I/O operations

• System.IO namespace (and System.Net, concerning streams)

• Reading & Writing files

• File, FileInfo, Directory, DirectoryInfo classes

• Async operations

• Stream concepts

implement data access (26%)

Page 30: 70-483: PROGRAMMING IN C#

Consume data

• SqlConnection, SqlDataReader, SqlCommand

• EntityFramework (contextual)

• Using web services (Add Web/Service Reference)

implement data access (26%)

Page 31: 70-483: PROGRAMMING IN C#

Query and manipulate data and objects by using LINQ

• LINQ (again), in the sql-like syntax

• LINQ-to-everything

implement data access (26%)

Page 32: 70-483: PROGRAMMING IN C#

Serialize and deserialize data

• Serializators: Binary, XML, DataContract, JSON

• Custom serialization

implement data access (26%)

Page 33: 70-483: PROGRAMMING IN C#

Store data in and retrieve data from collections

• Dictionaries, dictionaries, dictionaries

• Collections’ interfaces

• Typed vs. non-typed

implement data access (26%)

Page 34: 70-483: PROGRAMMING IN C#

domanda

Page 35: 70-483: PROGRAMMING IN C#

Template designed by

cert-path

70-483 – Programming in C#

Roberto Freato – Freelance IT Consultant & Trainer

MVP on Windows Azure, Microsoft Certified Trainer

[email protected] - @childotg