27
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

The Role of Large Scale Computing in Computer Science

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Role of Large Scale Computing in Computer Science

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

Page 2: The Role of Large Scale Computing in Computer Science

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

Page 3: The Role of Large Scale Computing in Computer Science

What is “Large Scale Computing”?

• Developing “really big” applications

• Focus on highly available, transaction processing systems

3

• Using the “mainframe” as a server

Page 4: The Role of Large Scale Computing in Computer Science

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

Page 5: The Role of Large Scale Computing in Computer Science

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

Page 6: The Role of Large Scale Computing in Computer Science

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

Page 7: The Role of Large Scale Computing in Computer Science

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

Page 8: The Role of Large Scale Computing in Computer Science

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

Page 9: The Role of Large Scale Computing in Computer Science

What Would You Title This Chart?

9

Page 10: The Role of Large Scale Computing in Computer Science

• 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...

Page 11: The Role of Large Scale Computing in Computer Science

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

Page 12: The Role of Large Scale Computing in Computer Science

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

Page 13: The Role of Large Scale Computing in Computer Science

�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

Page 14: The Role of Large Scale Computing in Computer Science

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

Page 15: The Role of Large Scale Computing in Computer Science

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”

Page 16: The Role of Large Scale Computing in Computer Science

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!

Page 17: The Role of Large Scale Computing in Computer Science

Our Wiki

17

Page 18: The Role of Large Scale Computing in Computer Science

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

Page 19: The Role of Large Scale Computing in Computer Science

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

Page 20: The Role of Large Scale Computing in Computer Science

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

Page 21: The Role of Large Scale Computing in Computer Science

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

Page 22: The Role of Large Scale Computing in Computer Science

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

Page 23: The Role of Large Scale Computing in Computer Science

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

Page 24: The Role of Large Scale Computing in Computer Science

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

Page 25: The Role of Large Scale Computing in Computer Science

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

Page 26: The Role of Large Scale Computing in Computer Science

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

Page 27: The Role of Large Scale Computing in Computer Science

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