Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel.

Slides:



Advertisements
Similar presentations
2006 Adobe Systems Incorporated. All Rights Reserved. 1 End-user programming and Flash Jen deHaan Sr. Technical Writer April 23 rd 2006.
Advertisements

Personalized Presentation in Web-Based Information Systems Institute of Informatics and Software Engineering Faculty of Informatics and Information Technologies.
2 Software life span models Stages through which software goes, from conception to death Stages may be very different Software = product –stages are similar.
USING VIRTUAL PROGRAMMING LAB FOR WEB-BASED DISTANCE EDUCATION HARRIS WANG ATHABASCA UNIVERSITY CANADA.
Synera The Software That Thinks Like You Do Synera Technical Presentation.
IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology.
Free Mini Course: Applying UML 2.0 with MagicDraw.
Controls Group May 22-24, 2002 EPICS Collaboration Jefferson Lab Electronic Logbook Theo Larrieu Theo Mcguckin Michelle Joyce.
1 i206: Distributed Computing Applications & Infrastructure 2012
The Internet: A Teaching & Learning Resource Support Group.
What causes bugs? Joshua Sunshine. Bug taxonomy Bug components: – Fault/Defect – Error – Failure Bug categories – Post/pre release – Process stage – Hazard.
CS533 Concepts of Operating Systems Class 1 Course Overview.
MODULAR TE Valorisation Conference Dr.-Ing. Juergen Wehling Faculty for Engineering Sciences, Department of Technology (Lectureship) TUD, Prof. Dr.-Ing.
SWE 444: Internet & Web Application Development0.1 SWE 444 Internet and Web Application Development Dr. Abdallah Al-Sukairi and Dr. Sahalu Junaidu
Lessons learned from an open-source University Project P. Basdaras, K. Chalkias, A. Chatzigeorgiou, I. Deligiannis, P. Tsakiri, N. Tsantalis Department.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Content Management Systems Digital Resources for Research in the Humanities 2001.
Alexander Henket HL7 Expert May 10, 2015
PHP and MySQL Week#1  Course Plan.  Introduction to Dynamic Web Content.  Setting Up Development Server Eng. Mohamed Ahmed Black 1.
Selecting a Tool 1 When to start evaluating: Current method is not effective Can solve an immediate problem/challenge Can increase productivity and deliverables.
Sl.NoUnitContents 1.Unit - 1 What is Open Source?, Why Open Source? 2Unit – 2 What is Open Standard? - Why Open Standards? 3Unit – 3 Peek into history.
1 Software Maintenance and Evolution CSSE 575: Session 8, Part 2 Analyzing Software Repositories Steve Chenoweth Office Phone: (812) Cell: (937)
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Software Engineering CS3003
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Public Domain/Open Source Software Evaluation Photo Organizer.
SE3183 Advance Web Programming Programming Session 2013/2014.
CitiWiki Summer Workshop Day 1: Introduction Li Xu CS, UMass Lowell.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Information System Development Courses Figure: ISD Course Structure.
CORPORUM-OntoExtract Ontology Extraction Tool Author: Robert Engels Company: CognIT a.s.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
1 A Heuristic Approach Towards Solving the Software Clustering Problem ICSM03 Brian S. Mitchell /
SEMINAR WEI GUO. Software Visualization in the Large.
© Drexel University Software Engineering Research Group (SERG) 1 A. E. Hassan and R. C. Holt A Reference Architecture for Web.
The MSR-UR Curriculum Repository Tom Healy Lead Program Manager Microsoft Research University Relations.
Oracle Data Integrator Architecture Components.
Object Oriented Reverse Engineering JATAN PATEL. What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
Process Presentation Kin Wan Li, Ashley Zoch, Mevesh Gopee, Damian Ridgwell, Edwin Lusala,
HR for XML WebService -- Week 2 System Design Phase Smartest Fish.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
1 Bogor – Software Model Checking Framework Presented by: Arpita Gandhi.
Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos,
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
CPSC 372 John D. McGregor More EPF Module 2 Session 4.
Foundation year. 2 Computer For Health Sciences COURSE NAME COMP101 COURSE CODE (2 + 1) credit hours CREDIT HOURS.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Course Introduction Software Architecture. General Information Objective: Provides students with basic knowledge of software architecture Lecturer – Hieu.
Future of Distributed Production in US Facilities Kaushik De Univ. of Texas at Arlington US ATLAS Distributed Facility Workshop, Santa Cruz November 13,
Objective ICT : Internet of Services, Software & Virtualisation FLOSSEvo some preliminary ideas.
GOVT. ENGINEERING COLLEGE, AJMER PRESENTATION ON GUIDED BY: MR. SANJAY SINGH PRSENTED BY: CHANDRASHEKHAR GARG KIRTI KUMAR VALIYA VIJAY SHARMA.
Creating your course on MOODLE Learning Management System.
GRIN-Global Suite of Software Components. Updater.
Introduction to Web Technologies Module Introduction to Web Technologies – CS th January 2005 Dr Bogdan L. Vrusias
Support 2001.
John D. McGregor Eclipse Process Framework Module 2 Session 4
FINANCIAL ACCOUNTING ACCOUNTING-I ACCT 2003
CompTIA Server+ Certification (Exam SK0-004)
Two part course Software Engineering option only!
CIS 518 Teaching Effectively-- snaptutorial.com
CIS 518 Education for Service-- tutorialrank.com
Presentation transcript:

Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Our goal Developing two new canonical courses – Web server course – Web browser course Using Apache and Mozilla Firefox as case studies. New course material include: – Slides – Architecture Navigation Tool – Lab Assignments

Objectives for the new courses Understand the key concepts and knowledge, such as HTTP, XML and service-oriented architecture Be able to develop distributed Internet-based software applications. Be able to apply their knowledge to build multi-platform, multi-language Internet-based software applications. Be able to analyze the structure of Internet-based software applications. Be able to apply state-of-the-art reverse engineering tools to recover the architecture of existing software projects. Be able to represent and evaluate software designs in terms of modularity, extensibility, maintainability, and reusability at micro-level.

3-Steps towards the new courses 1.Knowledge organization ( ) – Technology organization – Architecture recovery – Architecture representation 2.Teaching Package Organization ( ) 3.Course Offering ( )

Goals of this summer Understand the key technologies behind Apache and Mozilla Fox – How to design a web server? A web browser? – How does a web server and a web browser interact with each other? Understand their architecture structure and how they survive over years – How many main components/modules are there in each system? – How do these components communicate with each other – Over their development history, how many developers were involved and how the numbers changed? – Over their development history, how many refactoring happened?

Task for This summer Mine the data repository for Apache and Mozilla Firefox – Knowledge Organization HTTP, HTML,XML, etc – Architecture recovery Using tools (Sunny) – Architecture Representation We will elaborate later

Task for This summer What need to be mined? – Source code over all the versions of Apache and Firefox Understand the how the structures evolve over time Understand how the features evolve over time Understand where and when refactoring happened After decomposing the system into modules, try to understand the technologies behind each feature – Bug report For each change, understand which and how many other parts of the system changed accordingly.

Task for This summer What need to be mined? – Mailing list How the number of developers change over time? How many sub-communities are there? How does the communication correspond to modules?

Tools used for data mining Sunny and KP Architecture recovery Mining bug report and communications

Research Topics out of the Project --Submitting papers to ICSE

Research Topics How to predict change impact from architecture? (Sunny’s ICSM submission) How does modularization facilitate task assignment? (Sunny’s ASE submission) How to measure and compare architecture? (KP’s wicsa submission) – How the metrics value changes over time for Apache and Firefox? Any new topics?

Weekly Tasks for Liz, Ritika, and Basil Week 1: get familiar with all these tools – Set up all the environment needed – Be able to use all the tools – Be able to write scripts to extract data We assign tasks at the beginning of each week.