Object-Oriented Programming in C# (v. 2012)

Similar documents
Object-Oriented Programming in C# (VS 2010)

: provid.ir

Visual C# 2012 Programming

Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the.

Visual Basic. murach's TRAINING & REFERENCE

Programming in C# with Microsoft Visual Studio 2010

Fundamentals of Java Programming

AP Computer Science Java Subset

Course MS10975A Introduction to Programming. Length: 5 Days

Java Application Developer Certificate Program Competencies

Java (12 Weeks) Introduction to Java Programming Language

The C Programming Language course syllabus associate level

Curso OBJECT-ORIENTED PROGRAMMING IN VISUAL BASIC. (Visual Studio 2008)

Java Interview Questions and Answers

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

I PUC - Computer Science. Practical s Syllabus. Contents

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Course Title: Software Development

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.

Facebook Twitter YouTube Google Plus Website

Web Development in Java

C++ INTERVIEW QUESTIONS

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

Java SE 8 Programming

Java the UML Way: Integrating Object-Oriented Design and Programming

Computing Concepts with Java Essentials

C#.NET Advanced. C#.NET Advanced. Prerequisites

Programming and Software Development CTAG Alignments

Computer Programming I

El Dorado Union High School District Educational Services

Java SE 7 Programming

Java SE 7 Programming

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

Certified PHP Developer VS-1054

Android Application Development Course Program

Object Oriented Software Design

Computer Programming I & II*

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is

INTRODUCTION TO C# 0 C# is a multi-paradigm programming language which is based on objectoriented and component-oriented programming disciplines.

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

Basic Programming and PC Skills: Basic Programming and PC Skills:

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

3 Control Structures 52

VB.NET INTERVIEW QUESTIONS

TypeScript for C# developers. Making JavaScript manageable

Object Oriented Software Design

Oracle Database: SQL and PL/SQL Fundamentals

This module explains fundamental aspects of Microsoft Dynamics NAV Development Environment.

Glossary of Object Oriented Terms

Yarmouk University Faculty of Science and Information Technology Department of Computer Information Systems CIS 282 Developing Web Applications

Java SE 7 Programming

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

JAVA IN A NUTSHELL O'REILLY. David Flanagan. Fifth Edition. Beijing Cambridge Farnham Köln Sebastopol Tokyo

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

Computer Programming I

Objective C and iphone App

Oracle Database: SQL and PL/SQL Fundamentals

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX


Programming in C# with Microsoft Visual Studio 2010

Charles Dierbach. Wiley

Java CPD (I) Frans Coenen Department of Computer Science

MA-WA1920: Enterprise iphone and ipad Programming

Programming and Software Development (PSD)

THE OPEN UNIVERSITY OF TANZANIA

#820 Computer Programming 1A

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system.

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

Tutorial on C Language Programming

Object Oriented Software Design II

Syllabus for CS 134 Java Programming

CS 111 Classes I 1. Software Organization View to this point:

Sources: On the Web: Slides will be available on:

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Moving from CS 61A Scheme to CS 61B Java

Formal Engineering for Industrial Software Development

Oracle Database: SQL and PL/SQL Fundamentals NEW

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Course Number: IAC-SOFT-WDAD Web Design and Application Development

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

Java EE Web Development Course Program

Praktikum im Bereich Praktische Informatik Entwicklung eines Ray-Tracing Systems. computer graphics & visualization

Evolution of the Major Programming Languages

Crash Course in Java

Chapter 13 - Inheritance

Automaton Programming and Inheritance of Automata

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Android Developer Fundamental 1

Application Development,.NET

Transcription:

Course ID MSN160 Object-Oriented Programming in C# (v. 2012) Course Description This thorough and comprehensive 5 day course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes the C# language. It is current to Visual Studio 2012 and.net 4.5. Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, and asynchronous programming keywords are covered in a final chapter. A supplement covers the fundamentals of Language Integrated Query (LINQ). An important thrust of the course is to teach C# programming from an object-oriented perspective. It is often difficult for programmers trained originally in a procedural language to start thinking in objects. This course introduces objectoriented concepts early, and C# is developed in a way that leverages its object orientation. A case study is used to illustrate creating a complete system using C# and.net. Besides supporting traditional object-oriented features, such as classes, inheritance, and polymorphism, C# introduces several additional features, such as properties, indexers, delegates, events, and interfaces that make C# a compelling language for developing object-oriented and componentbased systems. This course provides thorough coverage of all these features. The course explores several important interactions between C# and the.net Framework, and it includes an introduction to major classes for collections, delegates, and events. It includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a chapter covering the new features in C# 4.0 and C# 5.0. Prerequisites The student should have programming experience in a high-level language. Audience Programmers who need to design and develop C# for the.net framework. Duration 5 days

Course Content.NET: What You Need to Know Getting Started.NET: What is Really Happening.NET Programming in a Nutshell Viewing the Assembly Viewing Intermediate Language Understanding.NET Visual Studio 2012 Creating a Console Application Adding a C# file Using the Visual Studio Text Editor IntelliSense Build and Run the Project Pausing the Output Visual C# and GUI Programs.NET Documentation First C# Programs Hello, World Compiling, Running (Command Line) Program Structure Namespaces Exercise Answer Variables Expressions Assignment Calculations Using C# More About Output in C# Input in C# More About Classes InputWrapper Class Echo Program Using InputWrapper Compiling Multiple Files Multiple Files in Visual Studio The.NET Framework Lab 2

Data Types in C# Strong Typing Typing in C# Typing in C++ Typing in Visual Basic 6 C# Types Integer Types Integer Type Range Integer Literals Floating Point Types Floating Point Literals IEEE Standard for Floating Point Decimal Type Decimal Literals Character Type Character Literals string Escape Characters Boolean Type Implicit Conversions Explicit Conversions Nullable Types Lab 3 Operators and Expressions Operator Cardinality Arithmetic Operators Multiplication Division Additive Operators Increment and Decrement Relational Operators Conditional Logical Operators Short-Circuit Evaluation Ternary Conditional Operators Bitwise Operators Bitwise Logical Operators Bitwise Shift Operators Assignment Operators Expressions Precedence Associativity

Checking Lab 4 Control Structures If Test Blocks Loops while Loop do/while Loops for Loops Arrays foreach Loop break continue goto Structure Programming Multiple Methods switch switch in C# and C/C++ Lab 5 Object-Oriented Programming Objects Objects in the Real World Object Models Reusable Software Components Objects in Software State and Behavior Abstraction Encapsulation Classes Inheritance Concepts Relationships among Classes Polymorphism Object-Oriented Analysis and Design Use Cases CRC Cards and UML Classes Classes as Structure Data Classes and Objects References Instantiating and Using an Object

Assigning Object References Garbage Collection Methods Public and Private Abstraction Encapsulation Initialization Initialization with Constructors Default Constructor this Static Fields and Methods Static Methods Static Constructor Constant and Readonly Fields Lab 7 More about Types Overview of Types in C# Structures Uninitialized Variables Copying a Structure Hotel.cs HotelCopy.cs Classes and Structs Enumeration Types Reference Types Class Types object string Arrays Default Values Boxing and Unboxing Implicitly Types Variables Lab 8 Methods, Properties, and Operators Static and Instance Methods Method Parameters No Freestanding Functions in C# Classes with All Static Methods Parameter Passing Parameter Terminology Value Parameters

Reference Parameters Output Parameters Structure Parameters Class parameters Method Overloading Modifiers as Part of the Signature Variable Length Parameter Lists Properties Auto-Implemented Properties Lab 9B Operator Overloading Operator Overloading in the Class Library Characters and Strings Characters Character Codes ASCII and Unicode Escape Sequences Strings String Class String Literals and Initialization Concatenation Index Relational Operators String Equality String Comparisons String Input String Methods and Properties StringBuilder Class StringBuilder Equality Command Line Arguments Command Line Arguments in the IDE Command Loops Splitting a String Lab 10 Arrays and Indexers Arrays One Dimensional Arrays System.Array Random Number Generation Next Methods Jagged Arrays

Rectangular Arrays Arrays as Collections Account Class Bank Class TestBank Class Atm Class Running the Case Study Indexers Using the Indexer Lab 11 Inheritance Inheritance Fundamentals Inheritance in C# Single Inheritance Root Class Object Access Control Public Class Accessibility Internal Class Accessibility Member Accessibility Member Accessibility Qualifiers Method Hiding Method Hiding and Overriding Initialization Initialization Fundamentals Default Constructor Overloaded Constructors Invoking Base Class Constructors Bank Case Study Analysis Account CheckingAccount SavingsAccount TestAccount Running the Case Study Lab 12 Virtual Methods and Polymorphism Introduction to Polymorphism Abstract and Sealed Classes Virtual Methods and Dynamic Binding Type Conversions in Inheritance Converting Down the Hierarchy Converting Up the Hierarchy

Virtual Methods Virtual Method Cost Method overriding The Fragile Base Class Problem override Keyword Polymorphism Polymorphism Using Type Tags Polymorphism Using Virtual Abstract Classes Sealed Classes Heterogeneous Collections Case Study Classes Run the Case Study Account CheckingAccount, SavingsAccount Bank and Atm TestBank Lab 13 Formatting and Conversion Introduction to Formatting ToString ToString in Your Own Class Using Placeholders Format Strings Controlling Width Format String Currency String.Format PadLeft and PadRight Type Conversions Conversion of Built-In Types Conversion of User-Defined Types Lab 14 Exceptions Introduction to Exceptions Exception Fundamentals.NET Exception Handling Exception Flow of Control Context and Stack Unwinding System.Exception User-Defined Exception Classes

Structure Exception Handling Finally Block Inner Exceptions Checked Integer Arithmetic Lab 15 Interfaces Interfaces in C# Interface Inheritance Programming with Interfaces Implementing Interfaces Using an Interface Dynamic Use of Interfaces is Operator as Operator Common Interfaces in Case Study IAccount Apparent Redundancy IStatement IStatement Methods IChecking ISavings The Implementation SavingsAccount The Client Resolving Ambiguity Access Modifier Explicit Interfaces Test Program.NET Interfaces and Collections Overview Collections Count and Capacity foreach Loop Array Notation Adding to the List Remove Method RemoveAt Method Collection Interfaces IEnumerable and IEnumerator ICollection IList A Collection of User-Defined Objects Duplicate Objects

A Correction to AccountList (Step 1) Copy Semantics and ICloneable Copy Semantics in C# Shallow Copy and Deep Copy Reference Copy Memberwise Clone Using ICloneable Comparing Objects Sorting an Array Anatomy of Array.Sort Using the is Operator The Use of Dynamic Type Checking Implementing IComparable Running the Program Complete Solution Lab 17A Writing Generic Code Using a Class of object Generic Types Generic Syntax in C# Generic Client Code System.Collections.Generic Lab 17B Object Initializers Collection Initializers Anonymous Types Delegates and Events Overview of Delegates and Events Callbacks and Delegates Usage of Delegates Declaring a Delegate Defining a Method Creating a Delegate Object Calling a Delegate A Random Array Anonymous Methods Combining Delegate Objects Account.cs DelegateAcount.cs Lambda Expressions Named Method Events

Events in C# and.net Client Side Event Code Lab 18 Introduction to Windows Forms Creating a Windows Forms App Partial Classes Windows Forms Event Handling Add Events for a Control Events Documentation Closing a Form ListBox Control Lab 19 New Features in C# 4.0 and C# 5.0 dynamic Type dynamic versus object Behavior of object Behavior of dynamic Names Arguments Optional Arguments Book Class Using Optional Arguments Variance in Generic Interfaces Variance with IComparer<T> Interfaces with Variance Support Asynchronous Programs in C# 5.0 Task and Task<TResult> Aysnc Methods Synchronous Call Async Call Threading Appendix A Learning Resources