Defensive C# Programming

by DreamCatcher Claim Listing

C# is one of the languages designed for the Common Language Infrastructure. It was developed around 2000 by Microsoft but is now an approved standard language.

Price : Enquire Now

Contact the Institutes

Fill this form

Advertisement

DreamCatcher Logo

img Duration

4 Days

Course Details

C# is one of the languages designed for the Common Language Infrastructure. It was developed around 2000 by Microsoft but is now an approved standard language. Just like any other programming languages, it is essential to understand the underlying mechanisms in order to avoid making common mistakes.

This course is designed to impart the theory behind how some of the underlying mechanisms work by working through some C# examples. Attendees will finish the course with a working knowledge of common C# programming errors that can lead to software problems and effective mitigation strategies to avoid introducing these errors.

 

What You Will Learn:

  • How to handle memory correctly.
  • How to handle exceptions correctly.
  • How to handle floating-point correctly.
  • How to handle multi-threading correctly.

 

Course Structure:

  • Day 1
  • Expressions: value and references; comparing values for equality; ignoring return values; dereferencing null pointers.
  • Exceptions: handling all exceptions; honouring exceptions; guaranteeing exception safety; Catch and rethrow; New exceptions; First-chance exception; Asynchronous exceptions; Exposing exception information; Dealing with unhandled exceptions; Tracking exception source; Selective exception processing.
  • Day 2
  • Floating-point: IEEE754 standards; division; rounding; overflow; underflow; Kahan summation; inherent errors; domain and range errors; rounding a floating-point value; choosing a rounding algorithm.
  • Integers: integer overflow; divide-by-zero; integer precision; safe narrowing of numeric casting; enumeration validation; using enumerations; Determining enumeration flags.
  • Strings: String concatenation; De/encoding Base64; Converting byte[] to string; Passing string as byte[]; Valid numeral string.
  • Day 3
  • Memory Management: stack vs heap; managed heap; large-object heap; creating objects on the heap; removing objects from the heap; garbage collection; implementing dispose; implementing finalize; unmanaged resources.
  • Object-Oriented Programming: cloning classes; disposing objects; null checking; multiple disposal;
  • Collections: Custom enumerators; Nested foreach; LINQ speed-up.
  • Day 4
  • Concurrency: semaphores; mutex; multiplex; barriers; race conditions; avoiding deadlocks; Per-thread static storage; Thread-safe access to classes; Silent thread termination; Asynchronous thread completion; Private thread data; Using semaphore; Using mutex; Using events; Atomic operations; In-order task execution.
  • Input/Output: EOF; TOCTOU; reading and writing files; closing files; Wildcard searching; Directory tree; Path parsing; Using command-line utilities; Locking a file; Filesystem events.
  • George Town Branch

    303-5-5 & 303-5-6, Block B, Krystal Point, George Town
  • Miri Branch

    Lot 1140, Taman Emas, Miri
  • Kuala Lumpur Branch

    LOT 2-4, Galleria @ Cyberjaya, Kuala Lumpur

Check out more C++ Programming courses in Malaysia

Mindasys Logo

Object Oriented Programming in C++

This course has been designed meticulously to help students master the Object Oriented Programming skills in C++.

by Mindasys [Claim Listing ]
Instep Learning Asia Sdn Bhd Logo

C++ Programming (Basic To Intermediate)

C++ Programming training is offered by Instep Learning Asia Sdn Bhd. As a registered training provider with PSMB, there is quality assured in every course designed by our training specialists.

by Instep Learning Asia Sdn Bhd [Claim Listing ]
Trainocate Malaysia Logo

Essential Python (ATC-ESSENTIAL-PYTHON)

Python has been emerging as a very powerful, flexible, and simple programming tool. It’s easy to learn and use, making it perfect for beginners and experienced developers alike.

by Trainocate Malaysia [Claim Listing ]
UK Trainer Plt Logo

Java Programming (Competent)

Java Programming training is offered by UK Trainer Plt. UK Trainer Plt is a company providing assistance and guidance to his customers by providing excellent training, consultancy, certification & technical advice; specific to customer’s industrial needs in each organization and Management syst...

by UK Trainer Plt [Claim Listing ]
Infinite Minds Academy Logo

Programming

Programming can be fun when taught correctly and a rewarding hobby for kids of all ages. This course is designed so that you can create games and apps by yourself!

by Infinite Minds Academy [Claim Listing ]

© 2024 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy