Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
The Role of Large Scale Computing
in Computer Science Education
at Widener University
Dr. Suk-Chung Yoon and Noah Pascarell
Dept. of Computer Science
Widener University
Overview (Part I)
� What is “Large Scale Computing”?
� Capabilities of a Mainframe
� Viability of the Mainframe
� Why Teach Large Scale Computing ?� Mainframe Demand� Mainframe Demand
� The World Depends on Mainframes
� Hardware Chart
� Our Course � Objectives
� Topics� Why Learn COBOL?
� Format
� Our Wiki
What is “Large Scale Computing”?
• Developing “really big” applications
• Focus on highly available, transaction processing systems
3
• Using the “mainframe” as a server
Capabilities of a Mainframe
�Large-scale transaction processing (thousands of transactions per second)
�Support thousands of users and application programs
�Simultaneously accessing resources
4
�Simultaneously accessing resources
�Terabytes of information in databases
�Large-bandwidth communications
Viability of the Mainframe
�Are Mainframes Still Used?
�Most Fortune 1000 companies
�60% of all data available on the Internet is stored
5
�60% of all data available on the Internet is stored on mainframes
�There are more CICS transactions processed than Web pages served
Why Teach Large Scale Computing ?
• Demographics – average age of a “mainframe programmer”…
• Shortage of skill set
6
• Key concepts that can be applicable across other platforms
Mainframe Demand
�Mainframe Resources:�A growing issue for mainframe enterprises is the shrinking set of skilled staff to maintain the environment – Gartner 2004/2005.
7
�Wanted: 20,000 IBM Mainframe Experts –
InformationWeek, Aug 2005
The World Depends on Mainframes
Turn on a light Get a business loan
Make a telephone call Process accounting records
Use your ATM card Control inventories
Put money in a bank Process payroll
Rent a car Update personnel records
8
Rent a car Update personnel records
Purchase life insurance Control an assembly line
Travel Control a railroad
Send a package Use corporate data bases
Track in-transit packages Run a government agency
Trade stocks Conduct international
business/banking
What Would You Title This Chart?
9
• Understand key concepts required for large scale application development - which is independent of “mainframe” vs “distributed computing”
• Describe programs from an “Application Architecture”
CourseObjectives
10
• Describe programs from an “Application Architecture” perspective
• Gain some real world insight into the application of “Computer Science” concepts
• Have something unique to discuss during a job interview...
Course Objectives (continued)
�Be able to have an intelligent conversation with respect to Large Scale Computing
�Understand the differences when creating applications to run on a PC, traditional web-based
11
applications to run on a PC, traditional web-based applications and “really big” applications.
�Become “fluent” in the TLAs/Buzzwords
�Understand Hype verses reality
Course Objectives (continued)�Understand the mainframe - how it compares and contrasts to distributed computing environments across concepts such as:
� Scalability, reliability, security, fault-tolerance, transaction integrity, databases
�Gain experience doing application development using mainframe programming tools & languages
12
mainframe programming tools & languages
� Explain how businesses make use of mainframes and outline the major types of workloads for which mainframes are best-suited.
�Understand the key principles behind transaction processing, and how mainframe technologies can provide robust transaction processing applications
�1.System Architecture overview
�2.Introduction to COBOL and JCL
�3.Data: VSAM and Sequential Files
�4.Application Architecture of transaction processing systems
CourseTopics
13
systems
�5.Databases: Relational and hierarchical databases
�6.Using the mainframe as a “server” (MQ, HTTP, J2EE)
�7.Transaction Processing – CICS
�8.High Availability - Parallel Sysplex
�9.Security – system security & security processes
Why Learn Cobol
�Most mainframe programs are written in Cobol
�Most applications are large (ex. 10,000,000 lines of code)
14
�Cobol can be very efficient for certain types of applications
Course Format
� Lectures - Review key concepts - includes both applied (ex. compile/link a program) and foundational topics (ex. security)
� Labs - Focus on getting familiar with the mainframe environment
15
�Online - helping to create/use our “Wiki”
Our Wiki
� Areas of the Wiki
� Course info (ex. reading assignments, schedule, …)
� General mainframe computing info (ex. terms & abbreviations)
�One contributes to the Wiki by editing (improving) the web pages, and as appropriate, contributing to the discussion on specific web pages
16
specific web pages
� It is expected that students will be an active reader / contributor to our web site!
Our Wiki
�
17
Overview (Part II)
� Implementing a Large Scale Lab @ Widener
� Conceptualization
� Contacting Marist College
� Requirements
� Preparing the facilityPreparing the facility
� Hardware
� Software
� IBM: Master the Mainframe Challenge
� Creating the first lab assignment for the course
� Taking the Large Scale Computing Course
� Reactions to the first lab assignment
� Course content
Conceptualization
� Conferred with Dr. Yoon and Dr. Saltz about the layout of the course
� Lecture and lab held on the same day
� Need to construct a lab facility for the course
� Start to develop mainframe skills� Start to develop mainframe skills
� IBM Contest
� Held regular meetings bi-weekly
� Update advisors on status of project
� Delegated tasks to group members
Contacting Marist College
� Started e-mail correspondence with system programmers
� Received requirements to connect with system z9
� 3270 terminal emulator
� Internet connection
� Requested USERIDs for lab managers, instructors, and students
� Continued communication with system programmers throughout lab construction phase
Preparing the Facility - Hardware
� New facility
� Moved new computers into location
� Crimped CAT-5 and connected machines to existing computer science existing computer science network
Preparing the Facility - Software
� Machines dual boot Linux/Widows
� Received a free unlimited license to Vista tn3270 for educational use
� Runs in Windows � Runs in Windows environment
� Configured Vista to connect with the Marist Mainframe IP address
� Created documentation
� Downloading/configuring Vista
� From home or in lab
IBM: Master the Mainframe Challenge
� Participated in IBM’s contest in Fall 2006
� Completed two of three parts
� Gave an introduction to basic MF skills as well as more advanced topicsadvanced topics
� Used the contest format to create the first lab assignments
� Contest is held yearly, and is open to all college students
� Received T-Shirts for completing part I
Creating the First Lab Assignment
� Modeled after part I “Breaking the Ice” of IBM’s contest
� Adapted to our system
� Based on screenshots and instructions
� Divided into more manageable sections for the course� Divided into more manageable sections for the course
� Added two additional sections:
� Allocating data sets
� Overview of COBOL and creating the students’ first program
Reactions to the First Lab Assignment
� Students received USERIDs/passwords at the beginning of the course
� Connection to Marist worked flawlessly
� Initial lab assignment spread out over first 3-4 weeks of classweeks of class
� Overall lab was well accepted by students
� “Extremely informative, and easy to follow.” - Student in Computer Science
� Dr. Saltz felt that that our lab was a good introduction
Course Content
� Upper level technical elective content
� Prerequisites: CSCI 151, 152, 247
� Each topic was on average covered in a week
� General mainframe background
� COBOL (several lectures)
Different parts of large scale application development process � Different parts of large scale application development process (requirements, design, testing, etc…)
� Mainframe capabilities
� Mainframe vs. other systems discussions
� Overall coursework is both challenging and rewarding
� One of the few courses which gives direct insight into current industry practices
� Credit Card Processing System
Conclusions
� Mainframe market is in need of experienced employees
� System is comparable to those used in industry
� Allows for an introduction
� Relying on off-site (third party) hardware
� More lab time is needed than other lab-courses
� Allows for an introduction into large scale application development
� Provides another programming language within curriculum
� Opens the door to new opportunities
� Challenging coursework