Some LINQ Experience Tuesday, 22 September :48 - Last Updated Tuesday, 22 September :29

Size: px
Start display at page:

Download "Some LINQ Experience Tuesday, 22 September :48 - Last Updated Tuesday, 22 September :29"

Transcription

1 As my girlfriend asked me to write her a little application that should use auto completion on a textbox, I started playing around with LINQ yesterday and decided to post a little article that might help you to understand what LinQ is and show some exaples, how you might use it. As a start, lets quote what Microsoft says about LINQ: "LINQ is a set of extensions to the.net Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities." The Idea behind LINQ is nothing really new as there are several technologies out there doing equal things like hibernate and so on. New is, that the LINQ-syntax is directly integrated into the syntax of the source language. This is something no other language provides like this. LINQ allows you to write queries on datastructures and datasources directly into your sourcecode and keeps your sourcecode clear. It also allows easy encapsulation of datasource types as you use a high level interface to access SQL databases (for example). A nice feature that I used is that you can perform LINQ-queries on any iterable data structure provided by the.net framework like List<T>, LinkedList<T>, HashMap<T> and so on. Just to make clear, what this means, let's look at the following example. At first, we design a simple sample data type containing some information that we can use for our queries: class Car 1 / 11

2 /// Color of our car. private String color; /// Maximum speed of our car. private float maxspeed; /// The manufacturer of our car. 2 / 11

3 private String manufacturer; /// Our cars constructor presetting all values. /// <param name="color">the color of the car.</param> /// <param name="maxspeed">the maximum speed.</param> /// <param name="manufacturer">the cars manufacturer</param> public Car(String color, float maxspeed, String manufacturer) this.color = color; 3 / 11

4 this.manufacturer = manufacturer; this.maxspeed = maxspeed; /// Getter for the color of the car. public String Color get return this.color; 4 / 11

5 /// Getter for the manufacturer. public String Manufacturer get return this.manufacturer; /// Getter for the maximum speed. public float MaxSpeed 5 / 11

6 get return this.maxspeed; As you can see, the class above is nothing than a model representation of a car. It contains the values to read and some properties to provide them to the application. So let's define a LinkedList with some cars within: LinkedList<Car> carlist = new LinkedList<Car>(); carlist.addlast(new Car("Blue", 240.0f, "RoadRacer")); carlist.addlast(new Car("Green", 120.0f, "SpaceCar3000")); carlist.addlast(new Car("Red", 140.0f, "SpaceCar3000")); carlist.addlast(new Car("Black", 160.0f, "FairDrive")); 6 / 11

7 carlist.addlast(new Car("Yellow", 200.0f, "SpaceCar3000")); And that is all setup we need. Now we can get ahead and perform some queries on our data structure. The next one is very easy. You might think that a simple foreach-loop would do, but there will be some more interesting queries later on. The advantage of the LINQ version of the algorithm over the selfmade foreach-loop is, that the LINQ version is easier to understand and to change, if your requirements change. Lets go ahead: var colorsofsc3000 = from Car car in carlist where car.manufacturer.equals("spacecar3000") select car.color; Console.Write("Colors of Cars manufactured by SpaceCar3000: "); foreach (String color in colorsofsc3000) Console.Write(color + " "); 7 / 11

8 Console.WriteLine(); The query just lists all colors of cars produced by SpaceCar3000. As you can see above that colors are green, red and yellow. The LINQ syntax looks a little bit like SQL statements in an odd order. As you might expect you can use statements like orderby as well. The first line of the statement defines the objects we request: We do this for every Car object in the carlist. The instance of the current car object is stored into the local variable car. The next line defines which cars we want to request. In this case, we ignore all cars not manufactured by SpaceCar3000. The last line defines which object we want to return. We read the cars color only in this case, as we are not interested in other values. Afterwards we can iterate over the result of our query by using a foreach-loop. Of course you could easily replace the LINQ snipped above against the following loop: Console.Write("Colors of Cars manufactured by SpaceCar3000: "); foreach (Car car in carlist) if (car.manufacturer.equals("spacecar3000") Console.Write(car.Color); Console.WriteLine(); 8 / 11

9 It gets more interesting if you perform some stuff like ordering the result of the LINQ statement: var highspeed = from Car car in carlist where car.maxspeed > 180.0f orderby car.maxspeed select car; Console.WriteLine("nHigh-Speed cars:"); foreach (Car car in highspeed) Console.WriteLine("The " + car.color + " car from " + car.manufacturer + " has a maximum speed of " + car.maxspeed + "."); 9 / 11

10 The orderby statement forces LINQ to order the Cars by their maximum speed value. In this case, LINQ makes your query very easy. To perform the same stuff using a foreach-loop you would need to order your car-list before sorting the unneded objects out or write them to a new list and sort the list after sorting the objects out or write them to an ordered list. All options are more complex than using the LINQ statement instead. An other feature that is very nice is the option to receive distinct results by using the Distinct<>()-Method on your query: var manufacturers = (from Car car in carlist orderby car.manufacturer select car.manufacturer).distinct<string>(); Console.WriteLine("nKnown manufacturers:"); foreach (String manufacturer in manufacturers) Console.WriteLine(manufacturer); 10 / 11

11 The Method returns all manufacturers of cars in the car list in a sorted order. I think you will agree that using LINQ in this case would you also save some work in this case. 11 / 11

Visual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d.

Visual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. Visual C# 2012 How to Program 1 99 2-20 14 by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. 1992-2014 by Pearson Education, Inc. All 1992-2014 by Pearson Education, Inc. All Although commonly

More information

How to be a C# ninja in 10 easy steps. Benjamin Day

How to be a C# ninja in 10 easy steps. Benjamin Day How to be a C# ninja in 10 easy steps Benjamin Day Benjamin Day Consultant, Coach, Trainer Scrum.org Classes Professional Scrum Developer (PSD) Professional Scrum Foundations (PSF) TechEd, VSLive, DevTeach,

More information

Working with Objects. Overview. This chapter covers. ! Overview! Properties and Fields! Initialization! Constructors! Assignment

Working with Objects. Overview. This chapter covers. ! Overview! Properties and Fields! Initialization! Constructors! Assignment 4 Working with Objects 41 This chapter covers! Overview! Properties and Fields! Initialization! Constructors! Assignment Overview When you look around yourself, in your office; your city; or even the world,

More information

XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007

XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007 XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007 Console Windows Supplementary Tutorial 8 Overview The majority of beginning

More information

Seminar 11 week 11 (11-15 December 2017)

Seminar 11 week 11 (11-15 December 2017) Seminar 11 week 11 (11-15 December 2017) 1. Discuss LINQ from C# using the following examples. 2. Solve the following problems: 2.1. Display the number and frequency of number from given array. 2.2. find

More information

Querying In-Memory Data by Using Query Expressions

Querying In-Memory Data by Using Query Expressions Chapter 21 Querying In-Memory Data by Using Query Expressions LINQ (Language Integrated Query) CUSTOMER CID FName Lname Company 1 Ram Kumar CITech 2 Sam Peter HP 3 Anil Kumar EMC 2 4 Anuj Patil Dell 5

More information

Previous C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007

Previous C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007 Previous C# Releases C# 3.0 Language Features C# Programming March 12, 2007 1.0 2001 1.1 2003 2.0 2005 Generics Anonymous methods Iterators with yield Static classes Covariance and contravariance for delegate

More information

Functional programming in C#

Functional programming in C# Functional programming in C# A quick approach to another paradigm Nacho Iborra IES San Vicente This work is licensed under the Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.

More information

Course Syllabus C # Course Title. Who should attend? Course Description

Course Syllabus C # Course Title. Who should attend? Course Description Course Title C # Course Description C # is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the.net Framework.

More information

Variable Scope The Main() Function Struct Functions Overloading Functions Using Delegates Chapter 7: Debugging and Error Handling Debugging in Visual

Variable Scope The Main() Function Struct Functions Overloading Functions Using Delegates Chapter 7: Debugging and Error Handling Debugging in Visual Table of Contents Title Page Introduction Who This Book Is For What This Book Covers How This Book Is Structured What You Need to Use This Book Conventions Source Code Errata p2p.wrox.com Part I: The OOP

More information

if (i % 2 == 0) { return 4 + method(i + 5) } if (i % 2 == 1) { return 2 + method(i + 3) } public static int method( int i )

if (i % 2 == 0) { return 4 + method(i + 5) } if (i % 2 == 1) { return 2 + method(i + 3) } public static int method( int i ) Review Exercises Here is a list of review exercises. There are times when an exercise will be open ended, allowing you to pursue multiple aspects of the material. While encompassing some areas we have

More information

LinQ Why we have to teach functional programmming

LinQ Why we have to teach functional programmming LinQ Why we have to teach functional programmming Axel T. Schreiner http://www.cs.rit.edu/~ats/talks/linq/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf Principles Map a query language to cascading

More information

.NET Database Technologies. Entity Framework: Queries and Transactions

.NET Database Technologies. Entity Framework: Queries and Transactions .NET Database Technologies Entity Framework: Queries and Transactions ORMs and query languages l With an ORM, queries must define data to be returned and criteria in terms of domain model objects and their

More information

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic?

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic? What property of a C# array indicates its allocated size? a. Size b. Count c. Length What property of a C# array indicates its allocated size? a. Size b. Count c. Length What keyword in the base class

More information

System.Collections.Generic.SortedSet: who needs another collection anyway?

System.Collections.Generic.SortedSet: who needs another collection anyway? System.Collections.Generic.SortedSet: who needs another collection anyway? By Bill Wagner The.NET 4.0 library includes an additional collection class: The SortedSet. At first glance, it doesn t seem

More information

JAVA: A Primer. By: Amrita Rajagopal

JAVA: A Primer. By: Amrita Rajagopal JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently

More information

IMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR

IMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR IMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR Jakub Judas, Miroslav Virius FJFI ČVUT ABSTRACT: LINQ is a query language similar to SQL that enables to retrieve

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu if Statements Designing Classes Abstraction and Encapsulation Readings This Week s Reading: Review Ch 1-4 (that were previously

More information

Introduction To C#.NET

Introduction To C#.NET Introduction To C#.NET Microsoft.Net was formerly known as Next Generation Windows Services(NGWS).It is a completely new platform for developing the next generation of windows/web applications. However

More information

Practice Midterm 2 CMPS 12A Fall 2017

Practice Midterm 2 CMPS 12A Fall 2017 1.) Determine the output of the following program. public class Question1{ Car x = new Car("gray", 100000); Car y = new Car("red", 125000); Car z = new Car("blue", 150000); x = y; roadtrip(x); z = x; System.out.println(z.mileage);

More information

Introduction. Three button technique. "Dynamic Data Grouping" using MS Reporting Services Asif Sayed

Introduction. Three button technique. Dynamic Data Grouping using MS Reporting Services Asif Sayed Image: 1.0 Introduction We hear this all the time, Two birds with one stone. What if I say, Four birds with one stone? I am sure four sound much better then two. So, what are my four birds and one stone?

More information

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology Computer Science II OO Programming Classes Scott C Johnson Rochester Institute of Technology Outline Object-Oriented (OO) Programming Review Initial Implementation Constructors Other Standard Behaviors

More information

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0

More information

Object-Oriented Programming in Processing

Object-Oriented Programming in Processing Object-Oriented Programming in Processing Object-Oriented Programming We ve (kinda) been doing this since Day 1: Python is a deeply object oriented language Most of the data types we were using (strings,

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

Why do you want to know about functional programming?

Why do you want to know about functional programming? Why do you want to know about functional programming? A look at LinQ in C# and (perhaps) Java Axel T. Schreiner RIT Computer Science http://www.cs.rit.edu/~ats/talks/linq-ieee/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf

More information

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) David Haraburda January 30, 2013 1 Introduction Scala is a multi-paradigm language that runs on the JVM (is totally

More information

Objects and Classes. Amirishetty Anjan Kumar. November 27, Computer Science and Engineering Indian Institue of Technology Bombay

Objects and Classes. Amirishetty Anjan Kumar. November 27, Computer Science and Engineering Indian Institue of Technology Bombay Computer Science and Engineering Indian Institue of Technology Bombay November 27, 2004 What is Object Oriented Programming? Identifying objects and assigning responsibilities to these objects. Objects

More information

C# s A Doddle. Steve Love. ACCU April 2013

C# s A Doddle. Steve Love. ACCU April 2013 C# s A Doddle Steve Love ACCU April 2013 A run through C# (pronounced See Sharp ) is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages,

More information

Advanced Programming C# Lecture 10. dr inż. Małgorzata Janik

Advanced Programming C# Lecture 10. dr inż. Małgorzata Janik Advanced Programming C# Lecture 10 dr inż. Małgorzata Janik majanik@if.pw.edu.pl Winter Semester 2017/2018 Project (part II) Project part II Date: 18.12.2017 (next week!) Prepare the presentation that

More information

DryadLINQ 11/24/09 -- Lecture 20

DryadLINQ 11/24/09 -- Lecture 20 DryadLINQ 11/24/09 -- Lecture 20 What is DryadLINQ? (Programming language and distributed execution framework for manipulating very large datasets spread across many computers.) LINQ -- programming language

More information

Microsoft Visual C# Step by Step. John Sharp

Microsoft Visual C# Step by Step. John Sharp Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual

More information

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain Duhok Polytechnic University Amedi Technical Institute/ IT Dept. By Halkawt Rajab Hussain 2016-04-02 Objects and classes: Basics of object and class in C#. Private and public members and protected. Static

More information

C# in Depth THIRD EDITION

C# in Depth THIRD EDITION C# in Depth THIRD EDITION JON SKEET MANNING SHELTER ISLAND brief contents PART 1 PREPARING FOR THE JOURNEY...1 1 The changing face of C# development 3 2 Core foundations: building on C# 1 29 PART 2 C#

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

// constructor: takes a String as parameter and creates a public Cat (String x) { name = x; age = 0; lives = 9; // cats start out with 9 lives }

// constructor: takes a String as parameter and creates a public Cat (String x) { name = x; age = 0; lives = 9; // cats start out with 9 lives } Quiz 6 Name: 1. Suppose you have a class Cat defined as shown below. Fill in the code for the indicated methods, following guidelines given through comments. public class Cat // instance variables String

More information

Distributed Systems Recitation 1. Tamim Jabban

Distributed Systems Recitation 1. Tamim Jabban 15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Sunday, Tuesday: 9:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming A programming

More information

1 C# 6.0: Practical Guide 6.0. Practical Guide. By: Mukesh Kumar.

1 C# 6.0: Practical Guide 6.0. Practical Guide. By: Mukesh Kumar. 1 C# 6.0: Practical Guide C# 6.0 Practical Guide By: Mukesh Kumar 2 C# 6.0: Practical Guide Disclaimer & Copyright Copyright 2016 by mukeshkumar.net All rights reserved. Share this ebook as it is, don

More information

Enums. In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed.

Enums. In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed. Enums Introduction In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed. The Final Tag To display why this is useful, I m going to

More information

Putting it all together: LINQ as an Example

Putting it all together: LINQ as an Example Putting it all together: LINQ as an Example The Problem: SQL in Code Programs often connect to database servers. Database servers only speak SQL. Programs have to construct SQL strings. PHP example: if

More information

C#.NET TRAINING / /

C#.NET TRAINING / / C#.NET TRAINING.NET ENTERPRISE ARCHITECTURE Introduction to the.net platform Common Language Run Time(CLR) The Common Type Specification(CTS) The Common Language Specification(CLS) Microsoft Intermediate

More information

LINQ Language-Integrated Query Introduction

LINQ Language-Integrated Query Introduction LINQ Language-Integrated Query Introduction Contents Introduction... 1 The var Keyword... 2 IEnumerable... 2 Anonymous Classes... 3 Extension Methods Part I... 3 The this Parameter... 4 Extension Methods

More information

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations , 1 C#.Net VT 2009 Course Contents C# 6 hp approx. BizTalk 1,5 hp approx. No exam, but laborations Course contents Architecture Visual Studio Syntax Classes Forms Class Libraries Inheritance Other C# essentials

More information

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

More information

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as

More information

Game Design. Week 2 - Object recap and basic Programming

Game Design. Week 2 - Object recap and basic Programming Game Design Week 2 - Object recap and basic Programming Recap - Games and Game Mechanics What is a game? A game is an activity played using a sets of rules There are many types of games - Board games -

More information

Java Classes - Using your classes. How the classes you write are being used

Java Classes - Using your classes. How the classes you write are being used Java Classes - Using your classes How the classes you write are being used What s the use of classes? So, you have been writing a few classes by now... What for? The programs you will write will use objects

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming In C++ classes provide the functionality necessary to use object-oriented programming OOP is a particular way of organizing computer programs It doesn t allow you to do anything

More information

The C# Programming Language. Overview

The C# Programming Language. Overview The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built

More information

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises

More information

Interfaces & Generics

Interfaces & Generics Interfaces & Generics CSC207 Winter 2018 The Programming Interface The "user" for almost all code is a programmer. That user wants to know:... what kinds of object your class represents... what actions

More information

The power of PowerShell

The power of PowerShell The power of PowerShell Created by Ryan Woodward North Central Missouri College Table of Contents H R P C U G 1. About me 2. What is PowerShell? 3. Installing/Starting PowerShell 4. PowerShell Basics Variables

More information

C# in Depth SECOND EDITION JON SKEET. MANNING Greenwich (74 w. long.)

C# in Depth SECOND EDITION JON SKEET. MANNING Greenwich (74 w. long.) C# in Depth SECOND EDITION JON SKEET II MANNING Greenwich (74 w. long.) brief contents PART 1 PREPARING FOR THE JOURNEY 1 The changing face of C# development 2 Core foundations: building on C# 1 27 PART

More information

How To Access SAP Business Data From Silverlight 4 Clients Using WCF RIA Services

How To Access SAP Business Data From Silverlight 4 Clients Using WCF RIA Services How To Access SAP Business Data From Silverlight 4 Clients Using WCF RIA Services Jürgen Bäurle November 2010 Parago Media GmbH & Co. KG Introduction The introduction of Microsoft s WCF RIA Services for

More information

Deitel Series Page How To Program Series

Deitel Series Page How To Program Series Deitel Series Page How To Program Series Android How to Program C How to Program, 7/E C++ How to Program, 9/E C++ How to Program, Late Objects Version, 7/E Java How to Program, 9/E Java How to Program,

More information

CS 15 Design Section. Design

CS 15 Design Section. Design Design Introduction to the Section: This may be for advanced students who already know about Procedural Programming. Could be a nice lecture for them as to why we teach OO. This is from a lecture at Georgia

More information

List of lectures. Lecture content. Lecture goal. Object Oriented Programming. Object-oriented and type. TDDA69 Data and Program Structure

List of lectures. Lecture content. Lecture goal. Object Oriented Programming. Object-oriented and type. TDDA69 Data and Program Structure List of lectures TDDA69 Data and Program Structure Object Oriented Programming and type system Cyrille Berger 1 Introduction and Functional Programming 2 Imperative Programming and Data Structures 3 Environment

More information

Civil Engineering Computation

Civil Engineering Computation Civil Engineering Computation First Steps in VBA Homework Evaluation 2 1 Homework Evaluation 3 Based on this rubric, you may resubmit Homework 1 and Homework 2 (along with today s homework) by next Monday

More information

CS 251 Intermediate Programming Methods and Classes

CS 251 Intermediate Programming Methods and Classes CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

CS 251 Intermediate Programming Methods and More

CS 251 Intermediate Programming Methods and More CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

Object Oriented Programming

Object Oriented Programming Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2114) Lab 11 Object Oriented Programming Eng. Mohammed Alokshiya December 16, 2014 Object-oriented

More information

Part 2: The Material PART 2

Part 2: The Material PART 2 PART 2 With the introduction of what an object is, now we are ready to learn the CONSTRUCTOR concept. Just to refresh our memory, let s take a look at what we have learned in part 1. A sample class declaration,

More information

The Object clone() Method

The Object clone() Method The Object clone() Method Introduction In this article from my free Java 8 course, I will be discussing the Java Object clone() method. The clone() method is defined in class Object which is the superclass

More information

Object-Oriented Programming in C# (VS 2012)

Object-Oriented Programming in C# (VS 2012) Object-Oriented Programming in C# (VS 2012) This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes the C#

More information

LINQ to SAP. Jürgen Bäurle. July Parago Media GmbH & Co. KG

LINQ to SAP. Jürgen Bäurle. July Parago Media GmbH & Co. KG LINQ to SAP Jürgen Bäurle July 2008 Parago Media GmbH & Co. KG Introduction A lot has been written about Microsoft s new data access technology LINQ (Language Integrated Query) since the first preview

More information

Sql Server Check If Global Temporary Table Exists

Sql Server Check If Global Temporary Table Exists Sql Server Check If Global Temporary Table Exists I am trying to create a temp table from the a select statement so that I can get the schema information from the temp I have yet to see a valid justification

More information

WinForms Lab (developed by Joe Hummel, modified by Shereen Khoja)

WinForms Lab (developed by Joe Hummel, modified by Shereen Khoja) WinForms Lab (developed by Joe Hummel, modified by Shereen Khoja) Today you'll work in Visual Studio.NET to create your first form-based, Windows GUI application. Your GUI app will display information

More information

JAVA SYLLABUS FOR 6 WEEKS

JAVA SYLLABUS FOR 6 WEEKS JAVA SYLLABUS FOR 6 WEEKS Java 6-Weeks INTRODUCTION TO JAVA History and Features of Java Comparison of C, C++, and Java Java Versions and its domain areas Life cycle of Java program Writing first Java

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

AIMS Embedded Systems Programming MT 2017

AIMS Embedded Systems Programming MT 2017 AIMS Embedded Systems Programming MT 2017 Object-Oriented Programming with C++ Daniel Kroening University of Oxford, Computer Science Department Version 1.0, 2014 Outline Classes and Objects Constructors

More information

Lecture 4 Overview of Classes, Containers & Generics

Lecture 4 Overview of Classes, Containers & Generics Lecture 4 Overview of Classes, Containers & Generics What is a Programming Object? An object is an instance of a class. A class is a template for an object. Everything's an object!!! Statements such as

More information

Write for your audience

Write for your audience Comments Write for your audience Program documentation is for programmers, not end users There are two groups of programmers, and they need different kinds of documentation Some programmers need to use

More information

Airship Sub & Boat Tutorial. Made by King and Cheese

Airship Sub & Boat Tutorial. Made by King and Cheese Airship Sub & Boat Tutorial Made by King and Cheese Contents Introduction What you should already know 3 What you will learn 3 Let s start Opening up our scene 4 Adding some movement 5 Turning 8 Ascending

More information

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple

More information

Advanced Systems Programming

Advanced Systems Programming Advanced Systems Programming Introduction to C++ Martin Küttler September 19, 2017 1 / 18 About this presentation This presentation is not about learning programming or every C++ feature. It is a short

More information

Prerequisites: The student should have programming experience in a high-level language. ITCourseware, LLC Page 1. Object-Oriented Programming in C#

Prerequisites: The student should have programming experience in a high-level language. ITCourseware, LLC Page 1. Object-Oriented Programming in C# Microsoft s.net is a revolutionary advance in programming technology that greatly simplifies application development and is a good match for the emerging paradigm of Web-based services, as opposed to proprietary

More information

Getting started 7. Storing values 21. Creating variables 22 Reading input 24 Employing arrays 26 Casting data types 28 Fixing constants 30 Summary 32

Getting started 7. Storing values 21. Creating variables 22 Reading input 24 Employing arrays 26 Casting data types 28 Fixing constants 30 Summary 32 Contents 1 2 3 Contents Getting started 7 Introducing C# 8 Installing Visual Studio 10 Exploring the IDE 12 Starting a Console project 14 Writing your first program 16 Following the rules 18 Summary 20

More information

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6)

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 7 Professional Program: Data Administration and Management BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED

More information

CSC Web Programming. Introduction to SQL

CSC Web Programming. Introduction to SQL CSC 242 - Web Programming Introduction to SQL SQL Statements Data Definition Language CREATE ALTER DROP Data Manipulation Language INSERT UPDATE DELETE Data Query Language SELECT SQL statements end with

More information

Understanding Events in C#

Understanding Events in C# Understanding Events in C# Introduction Events are one of the core and important concepts of C#.Net Programming environment and frankly speaking sometimes it s hard to understand them without proper explanation

More information

Constraint Satisfaction Problems: A Deeper Look

Constraint Satisfaction Problems: A Deeper Look Constraint Satisfaction Problems: A Deeper Look The last problem set covered the topic of constraint satisfaction problems. CSP search and solution algorithms are directly applicable to a number of AI

More information

Collections, Maps and Generics

Collections, Maps and Generics Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.

More information

Berkeley Scheme s OOP

Berkeley Scheme s OOP Page < 1 > Berkeley Scheme s OOP Introduction to Mutation If we want to directly change the value of a variable, we need a new special form, set! (pronounced set BANG! ). (set! )

More information

Visual C# 2008 How to Program, 3/E Outline

Visual C# 2008 How to Program, 3/E Outline vcsharp2008htp_outline.fm Page ix Monday, December 17, 2007 4:39 PM Visual C# 2008 How to Program, 3/E Outline ( subject to change) current as of 12/17/07. As the contents change, we ll post updates at

More information

Window To A Different World Wednesday, 28 October :13 - Last Updated Wednesday, 28 October :20

Window To A Different World Wednesday, 28 October :13 - Last Updated Wednesday, 28 October :20 You probably have heard about Jhonny Chung Lee ( http://johnnylee.net/projects/wii/ ), the man who connected a wiimote to his computer to use it as a "touch" Device for a beamer projected. An other project

More information

COMP-202: Foundations of Programming. Lecture 26: Review; Wrap-Up Jackie Cheung, Winter 2016

COMP-202: Foundations of Programming. Lecture 26: Review; Wrap-Up Jackie Cheung, Winter 2016 COMP-202: Foundations of Programming Lecture 26: Review; Wrap-Up Jackie Cheung, Winter 2016 Announcements Final is scheduled for Apr 21, 2pm 5pm GYM FIELD HOUSE Rows 1-21 Please submit course evaluations!

More information

Practically Functional. Daniel Spiewak

Practically Functional. Daniel Spiewak Practically Functional Daniel Spiewak whoami Author of Scala for Java Refugees and other articles on Scala and FP Former editor Javalobby / EclipseZone Engaged in academic research involving Scala DSLs

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL10: Bridging Query and Programming Languages Ian Stark School of Informatics The University of Edinburgh Friday 29 October 2010 Semester 1 Week 6 E H U N I

More information

Advanced IQA. DDI: +44 (0) Mobile: +44 (0) Web:

Advanced IQA.   DDI: +44 (0) Mobile: +44 (0) Web: Advanced IQA Presented by: Keith Robertson Email: keith.robertson@mast-ict.com DDI: +44 (0)20 8133 4752 Mobile: +44 (0)7810545758 Web: www.mast-ict.com Table of contents Advanced IQA... 0 Table of contents...

More information

Midterm 2 A. 10 Questions. While some questions may seem familiar to practice problems, there are likely to be subtle

Midterm 2 A. 10 Questions. While some questions may seem familiar to practice problems, there are likely to be subtle Name email Midterm 2 A 10 Questions. While some questions may seem Midterm familiar 2 to A practice problems, there are likely to be subtle 10 Questions. While some questions may seem familiar to practice

More information

Dealing with Output. Producing Numeric Output CHAPTER 3. Task. Figure 3-1. The program in action

Dealing with Output. Producing Numeric Output CHAPTER 3. Task. Figure 3-1. The program in action CHAPTER 3 You already know all the main steps that you should take when developing a program in the C# language. In addition, you have already seen the important statement Console. WriteLine, which displays

More information

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program

More information

PHP. Interactive Web Systems

PHP. Interactive Web Systems PHP Interactive Web Systems PHP PHP is an open-source server side scripting language. PHP stands for PHP: Hypertext Preprocessor One of the most popular server side languages Second most popular on GitHub

More information

6 Stephanie Well. It s six, because there s six towers.

6 Stephanie Well. It s six, because there s six towers. Page: 1 of 10 1 R1 So when we divided by two all this stuff this is the row we ended up with. 2 Stephanie Um hm. 3 R1 Isn t that right? We had a row of six. Alright. Now before doing it see if you can

More information

Exercises Software Development I. 08 Objects II. Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014

Exercises Software Development I. 08 Objects II. Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014 Exercises Software Development I 08 Objects II Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014 Software Development I Winter term 2014/2015 Priv.-Doz.

More information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming in Visual Basic with Microsoft Visual Studio 2010 Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of

Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of MITOCW Lecture 3B [MUSIC PLAYING] Well, Hal just told us how you build robust systems. The key idea was-- I'm sure that many of you don't really assimilate that yet-- but the key idea is that in order

More information

Introduction to C# Applications Pearson Education, Inc. All rights reserved.

Introduction to C# Applications Pearson Education, Inc. All rights reserved. 1 3 Introduction to C# Applications 2 What s in a name? That which we call a rose by any other name would smell as sweet. William Shakespeare When faced with a decision, I always ask, What would be the

More information