Ten Reasons to Use C# to Teach Introductory Computer Programming Kyle Lutes, Jack Purdum,

Slides:



Advertisements
Similar presentations
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Advertisements

Windows Programming 1 Part 1 dbg --- Getting Acquainted with Visual Studio.NET and C#
Intro to CIT 594
Object Oriented System Development with VB .NET
CSE3030Lecture 11 Know Your User The First Slogan.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, C++ Version, Fourth Edition.
SM3121 Software Technology Mark Green School of Creative Media.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Tahir Nawaz Visual Programming C# Week 2. What is C#? C# (pronounced "C sharp") is an object- oriented language that is used to build applications for.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
Intro to CIT 594
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
CIS205 Part 1 dbg --- Getting Acquainted with Visual Studio.NET and C#
Chapter 1 Introduction Outstanding Features About This Book 1. A novel writing style is adopted to try to attract students’ or beginning programmers’ interesting.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Platforms for Learning in Computer Science July 28, 2005.
Introduction 01_intro.ppt
Abstraction, Inheritance, and Polymorphism in Java.
1 Why C# and Why.NET in the Undergraduate IS Curriculum ISECON November 3 -7, 2004, Newport, RI Association of Information Technology Professionals Mehdi.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
A First Program Using C#
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
INTRODUCTION TO PROGRAMMING COURSE CODE – MIS 211 Department of Management Information System Mr.Mohammed Abu Roqiah.
Object Oriented Programming CEN 221. Course Description Classes, objects, inheritance, polymorphism, graphical user interfaces, event handling, exception.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
Microsoft Visual Basic 2005: Reloaded Second Edition
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Week 1: THE C# LANGUAGE Chapter 1: Variables and Expressions ➤ Included in Visual Studio.NET ➤ What the.NET Framework is and what it contains ➤ How.NET.
Computer Concepts 2014 Chapter 12 Computer Programming.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
1 Visual Studio.NET.NET as a Teaching Tool John D. Haney John M. Lovely Northern Arizona University College of Business Administration.
Principles of Software Development 1 Principles Of Software Design and Development Types of language / Choosing a language.
Chapter 2 Part C – More on the Help System and The Object Browser (scan quickly for future reference)
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Java Fundamentals Usman Ependi UBD
Imagine Creating Software Without a Single Line of Code!
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Microsoft Visual Basic 2008: Reloaded Third Edition Chapter One An Introduction to Visual Basic 2008.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
INTRODUCTION TO JAVA AND ANDROID. Slide 2 Our Ecosystem Java Eclipse Android SDK.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Microsoft Visual C# 2010 Fourth Edition Chapter 3 Using GUI Objects and the Visual Studio IDE.
Software Construction Lab 05 Abstraction, Inheritance, and Polymorphism in Java.
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
CSC207 Fall 2016.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Computer Software: Programming
Introduction to Visual Basic 2008 Programming
Introduction to .NET Framework Ch2 – Deitel’s Book
VISUAL BASIC.
CIS16 Application Development – Programming with Visual Basic
CS Problem Solving and Object Oriented Programming Spring 2019
Presentation transcript:

Ten Reasons to Use C# to Teach Introductory Computer Programming Kyle Lutes, Jack Purdum,

Background Kyle Lutes Associate Professor Department of Computer Technology Purdue University West Lafayette, Indiana

Introductory Programming Language Choices Basic Pascal Cobol C C++ Visual Basic Java others C#

Why we use C# in our introductory programming course C# is a “ true ” object-oriented programming language – C# supports: Encapsulation Inheritance Polymorphism – In C#, all types are derived from System.Object – Constructors, garbage collection, method overloading, interfaces, multi-threading, etc.

Why we use C# in our introductory programming course In addition to Windows forms-based applications, Visual Studio.NET and C# can be used to easily develop: – Web applications using ASP.NET – Client/Server and enterprise applications – Class library DLL components – Pocket PC PDA and Smart Phone applications – Windows Services – Console applications – Graphical and Game applications

Why we use C# in our introductory programming course Easy to create Windows forms- based applications – More interesting to students – More real-world than console-based applications – Helps enforce object-oriented programming through reuse of GUI controls

Why we use C# in our introductory programming course Visual Studio.NET IDE helps make programming enjoyable: – A form designer for designing Graphical User Interfaces – Interactive debugging makes it easier to see how code executes (breakpoints, stepping through code, examining the contents of variables, etc.) – Next version of Visual Studio.NET supports “ edit and continue ” debugging

Why we use C# in our introductory programming course Microsoft makes it easy for educational institutions and students to get Visual Studio.NET – MSDN Academic Alliance – Microsoft Campus Agreements – Visual Studio.NET bundled with textbooks

Why we use C# in our introductory programming course Microsoft will soon release Visual C# Express – “ Visual C# 2005 Express Edition is a simple, lightweight, integrated development environment designed for beginning programmers and non- professional developers interested in building Windows Forms, class libraries, and console-based applications. ” –

Why we use C# in our introductory programming course Visual Basic is widely accepted as an easy language for beginners to learn, its opponents label Visual Basic as a “ toy ” programming language limited to simple programming tasks – We have found many students share this uninformed opinion and object to having to learn Visual Basic – Students would rather learn new technology – Using C# reduces the “ I-already-know-all-this ” attitude

Why we use C# in our introductory programming course Visual Basic gets more complex with each new version, and so loses its advantage over more complex development environments – C# has a smaller keyword set, yet still offers a robust development language

Why we use C# in our introductory programming course More coding examples exist for C# than do for Visual Basic.NET and other.NET languages – Especially true for the MSDN help examples

Why we use C# in our introductory programming course Software developers who use C# earn higher salaries than those who use Visual Basic – “ Developers who program primarily in C# earn 26 percent more than those who develop primarily in Visual Basic.NET ” – azine/features/salarysurvey/

Why we use C# in our introductory programming course Language usedAverage salary C#$98,813 Visual Basic.NET$72,959 Visual Basic 4.0, 5.0, or 6.0$72,461 Visual C++ 6.0$75,500 “ C# Gets the Big Bucks. Last year, C# developers earned around $5,000 more than Visual Basic.NET developers. This year that gap has widened to an astounding $26,000. It literally pays to know C#—whereas salaries for developers who program primarily in Visual C++ remain flat with last year's numbers. ”

Why we use C# in our introductory programming course C# uses C-like language syntax making it easier for students to learn Java and/or C++ in post- requisite courses

Why we use C# in our introductory programming course C# is available for non-Microsoft platforms – “ Mono is a comprehensive open source development platform based on the.NET framework that allows developers to build Linux and cross-platform applications with unprecedented productivity. Mono's.NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure. ” –

Our experiences using C# in our introductory programming course Jack Purdum, Ph.D. Assistant Professor Department of Computer Technology Purdue University Columbus, Indiana

Our experiences using C# in our introductory programming course Fall 2004 and Spring 2005: >125 students Course assumed no prior programming experience Pace of material covered was fast Basic terminology: objects, classes, properties, methods, variables, constants Programming concepts: data types, math operators and methods, relational operators, logical operators, decisions, loops, arrays, lists, files, classes

Our experiences using C# in our introductory programming course Daily quizzes served as incentive to keep up with reading Weekly programming assignments gave regular practice applying course topics Participation/attitude Four exams – two objective (multiple choice) – two coding exams in a lab setting Team programming project

Our experiences using C# in our introductory programming course Team programming project – Create a C# application for a high school athletic director to manage the athletic event schedules and related information of all high school sports – Assigned teams had 3-4 students (one had 5) – Flexibility given to teams to refine problem statement and customize their program for the target user – Bonus points given for creativity, resourcefulness, addition of value-added features

Our experiences using C# in our introductory programming course Team programming project – Attempt to balance skill-level of teams as evenly as possible All teams had at least one strong student and one student who was experiencing some difficulty Where possible, teams had students from different background – few female students on different teams – few minority students on different teams

Our experiences using C# in our introductory programming course Team Project Demonstration

Our experiences using C# in our introductory programming course Student seem more excited learning C#. Especially those who have used Visual Basic because they feel they are learning something new Former CS students tell us how nice it is to develop with Visual Studio.NET rather than command-line tools

Our experiences using C# in our introductory programming course When we used Visual Basic.NET, students who knew VB 6 assumed VB.NET was the same. Required some “ unlearning ” With Visual Basic, many student assumed that because they saw the word class in their code they were doing object-oriented programming. More “ unlearning ” was necessary

Our experiences using C# in our introductory programming course We don’t have to spend weeks teaching the IDE instead of programming concepts We believe the reduced keyword count found in C# compared to Visual Basic is a plus

Our experiences using C# in our introductory programming course Transition between the intro course and subsequent courses appears easier What they learn in C# is valuable in the web and Java courses

Our experiences using C# in our introductory programming course Because there are fewer preconceived notions about the language by students, we feel it’s been easier to teach the course Crisp syntax helps, too

Our experiences using C# in our introductory programming course C# syntax makes the movement from design to implementation fairly easy The students seem more willing to actual think about a lab assignment before they start writing the solution to it!

Our experiences using C# in our introductory programming course Non-traditional students believe there is value added using C# (It appears that most felt they would never use VB in “ real life ” …not so with C#)

Recommended Textbook An Information Systems Approach to Object-Oriented Programming using Microsoft Visual C#.NET – Kyle Lutes, Alka Harriger, Jack Purdum Available March 2005!

Recommended Textbook Highlights: – Teaches computer programming from an application developer perspective – Object-oriented programming integrated throughout – Teaches object-oriented programming with no prior programming experience assumed – Use C# as the programming language – Uses Windows forms-based applications (rather than console applications) – Each chapter divided into Essentials and Bonus sections

Summary We believe C# and Visual Studio.NET provide many advantages over Visual Basic.NET and Java for teaching introductory computer programming

Summary 1. True Object-Oriented Language 2. Easy to create GUI applications like students are used to using 3. Can be used to create many other types of applications 4. Visual Studio.NET makes programming enjoyable 5. Easy for educational institutions to get Visual Studio.NET 6. C# not seen as a "toy" language like VB 7. VB gets more complex with each new version 8. More coding examples for C# 9. C# software developers earn more than Java developers 10. C-like language syntax aids transition to Java and C++

Questions and Answers Kyle Lutes, Jack Purdum,