Programming in C# (70-483)
The Microsoft Programming in C# 70-483 exam has retired on Jan 2021
Programming in C#(70-483) certification by Microsoft assesses the candidate’s ability to accomplish the technical tasks. This exam will help the coders and developers to enhance their skills and get a higher pay job or a rise in their careers. However, the candidate should have some basic knowledge of the programming world before appearing for this examination.
Prerequisite
This exam will bring the best out of those candidates who have experience in programming essential business logic for a variety of application types, hardware, and software platforms using C#. However, the candidate should have knowledge of following domains:
- Managing program flow and events
- Asynchronous programming and threading
- Data validation and working with data collections including LINQ
- Handling errors and exceptions
- Working with arrays and collections
- running with variables, operators, and expressions
- Working with classes and methods
- Decision and iteration statements
Exam Details
The Programming in C# (70-483) exam consists of 40-60 questions. The cost of the examination is $165 USD. The format of the examination is online and proctored and the time duration is 120 minutes. The total number of questions is 40-60. The passing score for the Microsoft 70-483 is 700 on a scale of 1-1000. This examination is available in English, Chinese (Simplified), Chinese (Traditional), French, German, Japanese, Portuguese (Brazil).
Exam Registration
For registering yourself for Programming in C# (70-483) examination you are required to follow the following steps:
- Click on Schedule your exam on the official Microsoft page.
- Login in your Microsoft account using your email id, if you haven’t created an account on Microsoft you are required to signup first before login in.
- Follow the instructions given the site and select the available date and time slot and make the payment.
Exam Policies
There are a few policies and regulations that candidates should adhere to. It not mandatory to go through these policies. However, it is highly recommended to read these policies so as to avoid any kind of discomfort in the future.
Exam Retake Policy
If the candidate failed to achieve the passing score, then he/she has to wait for 24 hours before reapplying to the examination. The candidate can go to their certificate dashboard and reschedule the exam themselves. The candidate can reappear for the examination only five times. Failure in the second attempt will result in a waiting time of 14 days before rescheduling your third attempt. The waiting period for the fourth and the fifth attempts will also be 14 days.
Exam Cancellation Policy
Microsoft offers candidates to cancel or reschedule their exams within a minimum of 24 hours prior to the exam date. However, to prevent any cancellation fee, you must cancel or reschedule your exam, at least 6 business days prior to the date scheduled for your exam. Also, if you fail to appear in the exam, then you will not receive any refund of the exam fee.
Re-certification Policy
Microsoft certification is expected to expire when the products are out of mainstream support although the person`s certification will be recognized. Officially, the certification will never expire.
You can go through the full policies at: https://docs.microsoft.com/en-us/learn/certifications/certification-exam-policies
Course Outline
Manage Program Flow (25-30%)
Implement multithreading and asynchronous processing
- Use the Task Parallel Library, including theParallel.For method, PLINQ, Tasks (Microsoft Documentation: Task Parallel Library (TPL), Data Parallelism)
- create continuation tasks (Microsoft Documentation: Chaining tasks using continuation tasks)
- spawn threads by using ThreadPool (Microsoft Documentation: The managed thread pool)
- unblock the UI
- use async and await keywords (Microsoft Documentation: Asynchronous programming)
- manage data by using concurrent collections (Microsoft Documentation: Thread-Safe Collections)
Manage multithreading
- Synchronize resources
- implement locking (Microsoft Documentation: lock statement (C# reference))
- cancel a long-running task (Microsoft Documentation: Task Cancellation)
- implement thread-safe methods to handle race conditions (Microsoft Documentation: Managed threading best practices)
Implement program flow
- Iterate across the collection and array items (Microsoft Documentation: Iterators (C#))
- program decisions by using switch statements, if/then, and operators (Microsoft Documentation: Switch Statements, If…Then…Else statement)
- evaluate expressions (Microsoft Documentation: ?? (Evaluate C++ Expression))
Create and implement events and callbacks
- Create event handlers (Microsoft Documentation: Create an Event Handler Feature)
- subscribe to and unsubscribe from events (Microsoft Documentation: How to subscribe to and unsubscribe from events (C# Programming Guide))
- use built-in delegate types to create events
- create delegates (Microsoft Documentation: Delegates)
- lambda expressions (Microsoft Documentation: Lambda expressions (C# reference))
- anonymous methods (Microsoft Documentation: Anonymous functions)
Implement exception handling
- Handle exception types, including SQL exceptions, network exceptions, communication exceptions, network timeout exceptions (Microsoft Documentation: SqlException Class, Expected Exceptions, TimeoutException Class)
- use catch statements (Microsoft Documentation: try-catch (C# Reference))
- use base class of an exception (Microsoft Documentation: Exception Class)
- implement try-catchfinally blocks (Microsoft Documentation: Try…Catch…Finally Statement)
- throw exceptions (Microsoft Documentation: Handling and throwing exceptions in .NET)
- rethrow an exception
- create custom exceptions
- handle inner exceptions (Microsoft Documentation: Exception.InnerException Property)
- handle aggregate exceptions (Microsoft Documentation: AggregateException Class)
Create and Use Types (25-30%)
Create types
- Create value types, including structs and enum (Microsoft Documentation: Value types (C# reference))
- create reference types, generic types, constructors, static variables, methods, classes, extension methods (Microsoft Documentation: Extension Methods, Classes and structs)
- create optional and named parameters (Microsoft Documentation: Named and Optional Arguments)
- create indexed properties (Microsoft Documentation: Indexers)
- create overloaded and overriden methods (Microsoft Documentation: Overriding a Method)
Consume types
- Box or unbox to convert between value types (Microsoft Documentation: Boxing and Unboxing)
- cast types (Microsoft Documentation: Casting and type conversions)
- convert types (Microsoft Documentation: Convert Class)
- handle dynamic types (Microsoft Documentation: Using type dynamic)
- ensure interoperability with code that accesses COM APIs (Microsoft Documentation: Interoperability)
Enforce encapsulation
- Enforce encapsulation by using properties (Microsoft Documentation: Object-Oriented programming)
- enforce encapsulation by using accessors, including public, private, protected, and internal
- enforce encapsulation by using explicit interface implementation (Microsoft Documentation: Explicit Interface Implementation)
Create and implement a class hierarchy
- Design and implement an interface (Microsoft Documentation: Interface Design)
- inherit from a base class (Microsoft Documentation: Inheritance in C# and .NET)
- create and implement classes based on the IComparable, IEnumerable, IDisposable, and IUnknown interfaces (Microsoft Documentation: IComparable Interface, Generic Interfaces, IEnumerable<T> Interface)
Find, execute, and create types at runtime by using reflection
- Create and apply attributes (Microsoft Documentation: Attributes (C#))
- read attributes
- generate code at runtime by using CodeDom and Lambda expressions (Microsoft Documentation: Using the CodeDOM)
- use types from the System.Reflection namespace, including Assembly, PropertyInfo, MethodInfo, Type (Microsoft Documentation: System.Reflection Namespace, Reflection in .NET)
Manage the object life cycle
- Manage unmanaged resources (Microsoft Documentation: Cleaning up unmanaged resources)
- implement IDisposable, including interaction with finalization (Microsoft Documentation: IDisposable Interface)
- manage IDisposable by using the Using statement (Microsoft Documentation: using statement (C# Reference))
- manage finalization and garbage collection (Microsoft Documentation: Finalizers (C# Programming Guide))
Manipulate strings
- Manipulate strings by using the StringBuilder, StringWriter, and StringReader classes (Microsoft Documentation: StringWriter Class, StringBuilder Class)
- search strings (Microsoft Documentation: How to search strings)
- enumerate string methods (Microsoft Documentation: String.GetEnumerator Method)
- format strings (Microsoft Documentation: String.Format Method)
- use string interpolation (Microsoft Documentation: $ – string interpolation (C# reference))
Debug Applications and Implement Security (25-30%)
Validate application input
- Validate JSON data (Microsoft Documentation: Validate, Query, and Change JSON Data with Built-in Functions)
- choose the appropriate data collection type (Microsoft Documentation: Selecting a Collection Class)
- manage data integrity
- evaluate a regular expression to validate the input format (Microsoft Documentation: Best practices for regular expressions in .NET)
- use built-in functions to validate data type and content (Microsoft Documentation: Adding Validation to the Model (C#))
Perform symmetric and asymmetric encryption
- Choose an appropriate encryption algorithm
- manage and create certificates (Microsoft Documentation: Creating, Viewing, and Managing Certificates)
- implement key management
- implement the System.Security namespace (Microsoft Documentation: System.Security Namespace)
- hash data
- encrypt streams (Microsoft Documentation: CryptoStream Class)
Manage assemblies
- Version assemblies (Microsoft Documentation: Assembly versioning)
- sign assemblies using strong names (Microsoft Documentation: Strong-named assemblies)
- implement side-by-side hosting (Microsoft Documentation: Side-by-Side Execution in the .NET Framework)
- put an assembly in the global assembly cache (Microsoft Documentation: Global Assembly Cache)
- create a WinMD assembly (Microsoft Documentation: Windows Metadata (WinMD) files)
Debug an application
- Create and manage preprocessor directives (Microsoft Documentation: C# preprocessor directives)
- choose an appropriate build type (Microsoft Documentation: Understand build configurations)
- manage program database files (debug symbols) (Microsoft Documentation: Specify symbol (.pdb) and source files in the Visual Studio debugger (C#, C++, Visual Basic, F#))
Implement diagnostics in an application
- Implement logging and tracing (Microsoft Documentation: NET Core logging and tracing)
- profiling applications (Microsoft Documentation: First look at profiling tools)
- create and monitor performance counters (Microsoft Documentation: Configure Performance Monitoring)
- write to the event log
Implement Data Access (25-30%)
Perform I/O operations
- Read and write files and streams (Microsoft Documentation: File and Stream I/O)
- read and write from the network by using classes in the System.Net namespace (Microsoft Documentation: System.Net Namespace)
- implement asynchronous I/O operations (Microsoft Documentation: Asynchronous File I/O)
Consume data
- Retrieve data from a database (Microsoft Documentation: Populate documents with data from a database)
- update data in a database (Microsoft Documentation: UPDATE (Transact-SQL))
- consume JSON and XML data
- retrieve data by using web services
Query and manipulate data and objects by using LINQ
- Query data by using operators, including projection, join, group, take, skip, aggregate (Microsoft Documentation: Complex Query Operators)
- create methodbased LINQ queries (Microsoft Documentation: Method-Based Query Syntax Examples: Projection (LINQ to DataSet))
- query data by using query comprehension syntax (Microsoft Documentation: Query Syntax and Method Syntax in LINQ (C#))
- select data by using anonymous types (Microsoft Documentation: Anonymous Types (C# Programming Guide))
- force execution of a query (Microsoft Documentation: Query Execution)
- read, filter, create, and modify data structures by using LINQ to XML (Microsoft Documentation: Data Transformations with LINQ (C#))
Serialize and deserialize data
- Serialize and deserialize data by using binary serialization, custom serialization, XML Serializer, JSON Serializer, and Data Contract Serializer (Microsoft Documentation: Serialization guidelines, Serialization and Deserialization, Binary serialization, DataContractSerializer Class)
Store data in and retrieve data from collections
- Store and retrieve data by using dictionaries, arrays, lists, sets, and queues (Microsoft Documentation: Collections (C#), Collections and Data Structures)
- choose a collection type (Microsoft Documentation: Selecting a Collection Class)
- initialize a collection (Microsoft Documentation: Object and Collection Initializers)
- add and remove items from a collection (Microsoft Documentation: ArrayList.Remove(Object) Method)
- use typed vs. non-typed collections
- implement custom collections (Microsoft Documentation: Use Visual C# to implement custom collections)
- implement collection interfaces (Microsoft Documentation: ICollection Interface)
FAQ
To clarify your doubts, click on Programming in C# (70-483) FAQ.
Preparatory Guide
The preparation steps which are essential in order to successfully pass the Programming in C# (70-483) are:
Refer the Official Exam Guide
There is nothing wrong to say that the guide serves as complete coverage of the Programming in C# (70-483) exam and its related domains. Candidates who are looking for a comprehensive review of information must visit and bookmark this guide so that they can get access to it anywhere and anytime they want.
Instructor-led Training
Microsoft provides this 5-day instructor-led course for the candidates appearing in Programming in C# (70-483) exam. This training helps the candidate to gain knowledge in the following domains:
- Describe the core syntax and features of Visual C#.
- Create methods, handle exceptions, and describe the monitoring requirements of large-scale applications.
- Implement the basic structure and essential elements of a typical desktop application.
- Create classes, define and implement interfaces, and create and use generic collections.
- Use inheritance to create a class hierarchy and to extend a .NET Framework class.
- Read and write data by using file input/output and streams, and serialize and deserialize data in different formats.
- Create and use an entity data model for accessing a database and use LINQ to query data.
- Access and query remote data by using the types in the System.Net namespace and WCF Data Services.
- Build a graphical user interface by using XAML.
- Improve the throughput and response time of applications by using tasks and asynchronous operations.
- Integrate unmanaged libraries and dynamic components into a Visual C# application.
- Examine the metadata of types by using reflection, create and use custom attributes, generate code at runtime, and manage assembly versions.
- Encrypt and decrypt data by using symmetric and asymmetric encryption.
Prerequisite required for the Instructor-Lead training
This training will help the candidate to get a piece of better knowledge for preparing for the Programming in C# examination, however, there are few important skills that are required beforehand:
- How to name, declare, initialize, and assign values to variables within an application.
- How to use: arithmetic operators to perform arithmetic calculations involving one or more variables; relational operators to test the relationship between two variables or expressions; logical operators to combine expressions that contain relational operators.
- What is the way to create the code syntax for simple programming statements using C# language keywords and recognize syntax errors using the Visual Studio IDE?
- The method to create a simple branching structure using an IF statement.
- How to create a simple looping structure using a For a statement to iterate through a data array.
- The use of the Visual Studio IDE to locate simple logic errors.
- How to create a Function that accepts arguments (parameters and returns the value of a specified type).
- The method to design and build a simple user interface using standard controls from the Visual Studio toolbox.
- How to connect to a SQL Server database and the basics of how to retrieve and store data.
- When to sort data in a loop. to recognize the classes and methods used in a program.
Microsoft Books
Microsoft provides reference books that can be helpful while studying for the exam. These books contain various useful resources that can be used while studying. Visit Microsoft Press books, to find relevant books to get a deeper insight into the exam objectives, and hence crack the test, and earn your certification. You can also buy these books from Amazon. These books will help you prepare for the examination in a structural way.
Join Microsoft Community
A healthy discussion is always beneficial, no matter where it is done. The prospects of getting resolutions to an issue increase steeply when a greater number of people are involved. These discussions make the studies more comprehensive. Forums work really well to build a community that is essential for understanding others. Interacting with people of the same goal puts you one step forward in achieving those goals. It is suggested that you should join Microsoft Community.
Practice Tests
The final step to success is to practice what you have learned. Taking a practice test is a great way to diversify your study strategy and ensure the best possible results for the real thing. Further, analyzing the practice test is very important so as to ensure complete preparation. We provide you with free sample papers to help you excel in the examination.