a (web) service-oriented approach to teaching cs/is1 billy lim, bryan hosack, paul vogt

30
A (Web) Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt School of Information Technology Illinois State University

Upload: cosmo

Post on 21-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

A (Web) Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt School of Information Technology Illinois State University. Project Personnel Workshop Participants. Introductions. Schedule. Project Overview/Experience Report (9:00-10:15am) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

A (Web) Service-Oriented Approach to Teaching CS/IS1

Billy Lim, Bryan Hosack, Paul VogtSchool of Information Technology

Illinois State University

Page 2: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

INTRODUCTIONSProject Personnel

Workshop Participants

Page 3: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Schedule

• Project Overview/Experience Report (9:00-10:15am)• Hands-On Exercises (10:30am-12:00pm)• Lunch (12:00-1:00pm)• Assignment Development (1:00-2:30pm)• Discussion /Feedback (2:45-4:00pm)

Page 4: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Workshop Objectives

1. Disseminate the use of service-oriented approach to teaching CS1/IS1

2. Explore educational innovations for indoctrinating students the state-of-the-art software development practices using SOA

3. Build a learning/research community of service-orientation-in-CS1/IS1 enthusiasts.

Page 5: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Project Overview

• Began with: – "On Integrating Web Services from the Ground Up into

CS1/CS2," ACM SIGCSE 2005, St. Louis, MO, Feb., 2005. • Now supported by:

– NSF-DUE-CCLI-0837056, "Integrating Service-Oriented Paradigm into Introductory Information Technology Curricula," 2009 – 2011.

Page 6: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Basic Ideas

• SOA/Web services have gained popularity in many industries and in upper division/graduate CS/IS curricula

• Why not introduce service-orientation earlier in the curriculum?– Service-orientation can make a course more interesting– Service-orientation can better prepare students for upper

division classes and for the industry upon graduation– Service-orientation can introduce sound principles of

software engineering earlier in the curriculum

Page 7: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Courseware Showcase

• Main project site:– http://www.itk.ilstu.edu/ws4intro

• The site contains info on:– PowerPoint slides– Lab exercises– Programming assignments– Tutorials– List of Web services used

Page 8: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report• Outcome 1: Students will provide a better evaluation of

the IT1 course by 10% as compared to traditional IT1 course evaluations. Students will also indicate a positive perception of the SOA/Web services learning experience.

• Outcome 2: Student course grade performance will increase in the IT1 course by 10% as compared to traditional IT1 course performance.

• Outcome 3: Employers of computer science and information technology students will indicate a positive response to an SOA/Web services centered curriculum.

Page 9: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Outcome 1: Limited data…partial support– In hindsight we should have chosen a different

measure– The amount of data collected will be limited and

probably won’t be statistically significant

Page 10: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Outcome 2: Demographics– 99 students (missing cases were mostly drops)– 34% in WS/SOA section– 12% of the students were female, 88% male– 76% unable to define “What is a WS?” to 88% could

define

Page 11: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Outcome 2: Statistically significant improvement in final exam performance and course grade

Final Exam Regression Coefficientsa

Model

Unstandardized CoefficientsStandardized Coefficients

t Sig.

95% Confidence Interval for B

B Std. Error Beta Lower Bound Upper Bound1 (Constant) 12.585 9.105 1.382 .170 -5.494 30.663

Female1 -15.298 6.755 -.166 -2.265 .026 -28.709 -1.886

Class .443 2.346 .014 .189 .851 -4.216 5.101

Tradl1 -11.483 4.669 -.181 -2.459 .016 -20.753 -2.212

CumGPA 23.071 2.524 .662 9.141 .000 18.060 28.083

a. Dependent Variable: FinlExm, Adj R-Squared .493

Page 12: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Outcome 2: Statistically significant improvement in course grade

Final Grade Regression Coefficientsa

Model

Unstandardized CoefficientsStandardized Coefficients

t Sig.

95% Confidence Interval for B

B Std. Error Beta Lower Bound Upper Bound1 (Constant) -.515 .338 -1.523 .131 -1.187 .157

Female1 -.673 .251 -.155 -2.682 .009 -1.171 -.175

Class -.192 .087 -.130 -2.207 .030 -.365 -.019

Tradl1 -.456 .173 -.153 -2.630 .010 -.801 -.112

CumGPA 1.325 .094 .807 14.126 .000 1.139 1.511

a. Dependent Variable: GradeAdj R-Squared = .684

Page 13: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

Experience Report (cont’d)

Outcome 2: Grading bias and other concerns• Tukey Pairwise Comparison’s

were not significant for the instructors, except for one pairing. This pairing did not include either of the instructor’s teaching the web service sections.

• More data will help alleviate concerns about the grading

Mean Grades Awarded

N Mean Std. Deviation1 127 1.94 1.305

2 39 2.46 1.570

3 15 3.13 1.060

4 3 2.33 2.082

5 36 2.67 1.242

6 65 2.54 1.251

7 36 2.28 1.466

8 10 2.70 1.636

9 27 2.78 1.219

10 10 1.50 1.509

Total 368 2.33 1.376

Page 14: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Outcome 3: Employers of computer science and information technology students will indicate a positive response to an SOA/Web services centered curriculum. – Survey developed (see handout)– Companies contacted/to contact: Amazon, Google,

State Farm (other local users), suggestions…

Page 15: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• Continued interest in students after the completion of the class

• Initial frustration translates to positive response when creating “real-world”-like applications

• Engaging experience for faculty

• Second semester syndrome

Page 16: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Experience Report (cont’d)

• “Do I have to code this? Isn’t there a Web service to do that?”– A student’s comment on the requirement to “validate … the

state’s 2-letter abbreviation (must be one of the 50 state abbreviations).”

• “But that’s just calling the Web service to get a word from the dictionary, right?”– A student’s remark on needing to handle the part of the

assignment that requires them to hit a Web service to randomly generate a word (after he has already completed the part where he provides his own word) in the Hangman program.

Page 17: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

Session 2: Web services in CS1/IS1

Page 18: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Reusable Components

• Most programs are created by combining components that exist already, not from scratch!

• Reusing components saves time and money.

• Reused components are likely to be better developed, and more reliable.

• New components should be designed to be reusable by other applications.Don’t reinvent the wheels!

Source: Savitch & Carrano 2009 CS1 text

Page 19: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Software Reuse

Package names

Class names

Description of class Scanner

Source: Savitch & Carrano 2009 CS1 text

Page 20: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Software Reuse via SOA/WS

• Latest form of reuse is via “services”• SOA (Service-Oriented Architecture)

– “A system for linking resources on demand. In an SOA, resources are made available to other participants in the network as independent services that are accessed in a standardized way. This provides for more flexible loose coupling of resources than in traditional systems architectures.” –Sybase

– “Architecture that describes an entity (e.g., application or enterprise) as a set of interdependent services. SOA provides for reuse of existing services and the rapid deployment of new business capabilities based on existing assets.” -- CIO.gov

– Many others …

Page 21: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Software Reuse via SOA/WS

• One popular way of implementing SOA is via Web services• WS (Web Service)

– "a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.“ – W3C

– Laymen terms: a piece of program that can interact with another program using standardized Web protocols

– Examples: Google Maps API, Flickr API, Twitter API, Amazon Web services. (API = Application Programming Interface)

Page 22: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

NetBeans Generated Code Templatetry { // Call Web Service Operation <someService> service = new <someService>; < someServicePort> port = service.get<someServicePort>(); // TODO initialize WS operation arguments here declarations of arguments here // TODO process result here <someResult> result = port.methodOfInterest(argument list); System.out.println("Result = "+result);} catch (Exception ex) { // TODO handle custom exceptions here}

Bold: Statements of interests; Wish Exception ex wasprinted as part of the template.

Page 23: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Decision Structure try { // Call Web Service Operation com.cdyne.ws.profanityws.profanity.Profanity service = new com.cdyne.ws.profanityws.profanity.Profanity(); com.cdyne.ws.profanityws.profanity.ProfanitySoap port = service.getProfanitySoap(); // TODO initialize WS operation arguments here java.lang.String text = “You smoked weed? Dumb!"; // TODO process result here com.cdyne.ws.profanityws.profanity.FilterReturn result = port.simpleProfanityFilter(text); if (result.isFoundProfanity())

… else

… } catch (Exception ex) { // TODO handle custom exceptions here }

Page 24: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Repetition Structuremypackage.ISUDirectoryLookUpService service = new mypackage.ISUDirectoryLookUpService();mypackage.ISUDirectoryLookUp port = service.getISUDirectoryLookUpPort();// TODO initialize WS operation arguments herejava.lang.String lastName = aLastName;java.lang.String firstName = "";java.lang.String city = "";java.lang.String state = "";java.lang.String zip = "";// TODO process result heremypackage.DirectoryResult result = port.findPerson(lastName, firstName, city, state, zip);

Page 25: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Repetition Structure (2)Int listingSize = result.getItems().getDirectoryRecord().size();for (int i = 0; i < listingSize; i++) { firstName = result.getItems().getDirectoryRecord().get(i).getFirstName(); lastName = result.getItems().getDirectoryRecord().get(i).getLastName(); zip = result.getItems().getDirectoryRecord().get(i).getZip(); phone = result.getItems().getDirectoryRecord().get(i).getPhone(); state = result.getItems().getDirectoryRecord().get(i).getState(); cityNamePrint = result.getItems().getDirectoryRecord().get(i).getCity();}

Page 26: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Hands-on Activities

• http://r2d2.itk.ilstu.edu/ws4intro/wordpress/?page_id=295

Page 27: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

Session 3: Curriculum Development in CS1/IS1

http://r2d2.itk.ilstu.edu/ws4intro/wordpress/?page_id=308

Page 28: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

Session 4: The Future of Web services in CS1/IS1 (and CS2/IS2?)

Page 29: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Group Discussion Topics

• Phase II objectives?

• Viability of the current curriculum in other academic institutions?

• Synthesis across the curriculum?

Page 30: A  (Web)  Service-Oriented Approach to Teaching CS/IS1 Billy Lim, Bryan Hosack, Paul Vogt

School of Information Technology

Please tell us what you think!

and

THANK YOU FOR ATTENDING!

Feedback