Cutting Edge Software Development - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Cutting Edge Software Development

Description:

Adobe Acrobat Connect, formerly Breeze. 130 simultaneous users in 4 'rooms' ... Software: Adobe Presenter. Enhance PowerPoint presentations by. Adding audio ... – PowerPoint PPT presentation

Number of Views:366
Avg rating:3.0/5.0
Slides: 41
Provided by: rickr4
Category:

less

Transcript and Presenter's Notes

Title: Cutting Edge Software Development


1
Cutting Edge Software Development
  • Rick Raines
  • North Arkansas College
  • Harrison, AR
  • rraines_at_northark.edu
  • www.northark.edu/users/rraines

2
My Background
  • Education
  • BA Social Sciences Michigan State 1971
  • MS Physics Michigan State 1979
  • Micro-computer Consulting early 80s
  • 1st PC Commodore PET 1979
  • Instructor in Micro-computing 1980s
  • North Harris County College Kingwood, TX
  • 1st Certificate of Competency in Micro-computing
    in Texas
  • Compaq Computer Corp 1990s
  • Technical Training
  • Systems engineer (UNIX integration)
  • Software developer (VB - SQL Server)
  • PMI Certified Project manager
  • Developer of Computer Prog Degree 2000s
  • North Arkansas College Harrison, AR

3
Agenda
  • Program Problems and Evolution
  • Target audiences
  • Curriculum changes
  • Programming Degrees at Northark
  • Software Development
  • Applied Programming
  • Graduates
  • Successes
  • Suggestions
  • .NET Associated Costs
  • Free development software
  • Very inexpensive ELMS software
  • New Web Textbooks
  • Instructor Learning
  • Student continuation

4
The Learning Problem
  • What do I learn first?

5
My Pain With .NET
  • Programmed in VB for 8 years
  • Enjoyed the graphical user interface
  • Both Compaq projects and personal projects
  • Part Time Opportunity to Teach at Northark
  • Happy to Teach VB.NET
  • Prior to Teaching 1st Course !!!!!
  • Couldnt understand the Help Screens
  • Couldnt read detailed advanced books
  • Couldnt read code in web sites or magazine
    articles
  • I was annoyed.

6
My Pain part 2
  • Taught VB.NET in Summer 2003
  • Textbook Simply Visual Basic 2003 Deitel
    Deitel
  • Carefully read and taught the entire book
  • After Teaching the Course !!!!!!!!!!!
  • Couldnt understand the Help Screens
  • Couldnt read detailed advanced books
  • Couldnt read code in web sites or magazine
    articles

I was way beyond annoyed.
7
The MS Visual Studio Problem2 products in 1
  • What is the best way to use MS Visual Studio?

8
Microsoft Visual Studio2 Development Products in
1
  • Personal Programming Environment (limited)
  • Drag and drop
  • Code behind the form (like VB6 6.0)
  • Professional Programming Environment (unlimited)
  • Encapsulation, Inheritance, Polymorphism
  • Design Patterns, n-Tiered Architecture
  • Code in classes

Personal Programs
VB.NET C .NET
Professional Programs
9
Personal PathApplied Programming Goals
  • Personal projects
  • Individually developed
  • Automation projects
  • Smaller departmental projects
  • Code
  • Code behind the form
  • Drag and drop controls
  • Conclusion
  • Keep it as simple and practical as possible

10
Professional PathObject Oriented Programming
Goals
  • Design
  • Large projects
  • Team development
  • Code
  • Flexible
  • Maintainable
  • Conclusion
  • Simply using classes and objects does NOT mean
    that you are writing flexible and maintainable
    OOP code.
  • A little bit of OOPs is a mistake.

11
The Language Problem
  • Which language do I choose, VB.NET or C.NET?

12
Language Choice
  • Visual Basic
  • Easier syntax
  • Earlier versions
  • Best for Personal Programming
  • Visual C
  • C Programmers make 30 more money
  • C is more respected by corporations
  • Advanced books are first written in C
  • Best for Professional Programming
  • Combination May be Best
  • NW Arkansas prefers C programmers
  • Memphis prefers VB programmers
  • Northark Programming Degree
  • Switching from VB to C

13
The Critical Learning Path Problem
  • What do I need to know first?
  • What do I NOT need to know first?

14
.NET Software Development Topics
Applied Topics (horizontal) Printing, Graphics
, Files, XML, Databases, Web Sites,
Communications, Workflow
WCF, WF
SharePoint
WPF, XML
ASP.NET
ADO.NET
Learn the Language is First.
15
Object Oriented Programming Critical Language Top
ics
Architecture
Teamwork Putting it all together
Design Patterns
Required Knowledge
How the pros do it
Object Models
Combining Classes and Objects
Classes and Objects
Introductory Books
Using, Reading, and Writing Classes and Objects
Procedural Code
Assignment Statements, Branching Statements,
Repetition Statements, Procedures
16
Object Oriented TopicsProcedural Code
  • Declarations
  • Dim _name As String
  • Dim _age as Integer
  • Assignment Statements
  • _name Rick
  • _age CInt(Me.txtAge.Text)
  • Branching Statements
  • If _age
  • Messagebox.Show(Too young to drink)
  • End If
  • Repetition Statements
  • For each name in me.lstNames.Items
  • Messagebox.Show(Name _name)
  • Next
  • Procedures
  • Public Function GetName( ) as String
  • return _name
  • End Function

17
Object Oriented TopicsOOP Technology - Classes
and Objects
  • Public Class Person
  • Private _name As String
  • Public Property Name() As String
  • Get
  • Return _name
  • End Get
  • Set(ByVal Value As String)
  • _name Value
  • End Set
  • End Property
  • Public Overrides Function ToString() As
    String
  • Return "My name is " Name
  • End Function
  • End Class

18
Object Oriented TopicsOOP Technology - Object
Models (Class Diagram)
19
Object Oriented TopicsDesign Patterns - Abstract
Factory
20
Object Oriented TopicsArchitecture
  • Layers for swapping
  • User Interfaces (thin)
  • WinForm
  • WebForm
  • Web Service
  • Business Logic (thick)
  • This is the Application !
  • Polymorphic Core
  • Concrete Classes
  • Data Access Layer
  • SQL Server code
  • Oracle code
  • DB2 code

n-Tiered Architecture
User Interface Layer
Business Logic Layer
Data Access Layer
21
.NET Software Development Critical Path of
Learning
  • Vertical Topics (Language)
  • Procedural Programming
  • Object Oriented Technology
  • Design Patterns
  • Architecture
  • Horizontal Topics (Applied - Critical)
  • Databases SQL Server, ADO.NET
  • Horizontal Topics (High Demand)
  • Web Sites ASP.NET

22
1st Graduating ClassSpring 2007
23
Successes of Graduates
  • All have jobs
  • Average starting salary 45k / yr
  • Languages
  • Two working in JAVA
  • One working in C
  • One working in VB and MS Access

24
Suggestions from Graduates
  • Use C rather than VB
  • More industry respect
  • Upper level books written in C
  • Add a capstone projects course
  • Useful for learning
  • Useful for interviewing
  • Fewer required computer courses
  • Reduce computer course requirements to 3 per
    semester
  • 4 computer courses at a time was too many

25
The Curriculum Problems
  • How to develop a 5 semester curriculum in a
    4 semester 2 yr degree?
  • 2. How to reduce the of computer courses from
    15?

26
Software Development AAS Degree
Target Audience Students wishing a degree in
professional programming
Semesters I 2
Procedural Programming Pre-requisite
Semesters 3 4
Electives
27
Software Development Certificate
Target Audience Programmers who wish to upgrade
their skills
Semesters I 2
Procedural Programming Pre-requisite
Semesters 3 4
28
Applied Programming Certificate
Target Audience High school students and first
time programmers
Semesters I 2
Note Intermediate Prog VB is a strictly
applied course with as little OOP programming as
possible. Topics will include mutli-form apps,
intro to classes and objects, collections,
files, printing, and DB access.
29
The Software Problem
  • What software and what versions do I use?
  • How much will it cost?

30
Microsoft Software Costs
  • Free Development Tools
  • Visual Basic Express
  • Visual C Express
  • Visual Web Developer Express
  • SQL Server Express
  • ELMS Academic Alliance
  • School costs
  • 500
  • Student costs
  • Visual Studio Professional 2005 - 27 (media)
  • SQL Server Professional 2005 included
  • Windows Server 2003 Enterprise

31
Microsoft ELMS Academic AllianceFree Software
32
The Book Problem
  • What books will I use to move up the critical
    path most easily?

33
Course Books
  • Textbooks
  • 12 mo after software ship
  • Insufficient detail
  • Technical books (recommended)
  • 0 6 mo after software ship
  • Often available as eBooks (cheaper and quicker)
  • No exercises, quizzes, or tests
  • Video training, Web articles
  • Prior to software ship
  • Based on beta software
  • Difficult to tell which are good and which order

34
Which Technical Book?
Apress
Murach
Wrox
Excellent Details
Excellent Introductory
Always Confusing
35
Which Design Patterns book?
Excellent Concepts
Confusing Original
36
The Instructor Development Problem
  • How can I learn all of this before I teach my
    students?

37
Object Oriented Programming in C or VB
A Series of Web Textbooks by Rick Raines
  • Based on Critical Path of Learning 3 semesters
  • Procedural topics
  • Object Oriented Technology
  • Design Patterns (selected)
  • Architecture (requires SQL Server and ADO.NET)
  • Exercises - approximately 50 per semester
  • Learn by doing, printed and/or eBook form
  • Videos 1 per Exercise plus Overview lectures
  • Streaming video Impatica, Camtasia, think along
    with the instructor
  • Workbooks printed via LuLu.com
  • Powerpoint slides, code snippets
  • Update and print on demand
  • Distribution
  • Web site

38
Exercises in C II OOP Technology
39
How to Usethe Object Oriented Programming in C
or VB Series
  • New OOP Instructors
  • Learn as you teach
  • Lectures on streaming video
  • Work ahead of students and help with exercises
  • Knowledgeable OOP Instructors
  • Lectures by instructor in classroom
  • Video lectures as backup
  • Exercises and tests provided
  • Distance Learning
  • Streaming Video Lectures
  • Impatica, Camtasia, OnCue
  • Live online interactive labs
  • GoToMeeting (share desktop)
  • Skype (inexpensive internet phone)

40
Q A
Write a Comment
User Comments (0)
About PowerShow.com