Reflection Library for Eiffel PROJECT PLAN
|
|
- Letitia Norman
- 5 years ago
- Views:
Transcription
1 Reflection Library for Eiffel PROJECT PLAN Master thesis Project period: Monday, Wednesday, Student: Beat Fluri Status: 9th semester Supervising Assistant: Bernd Schoeller Supervising Professor: Bertrand Meyer
2 1 Project Description 1.1 Overview State of the art programming languages like Java or C# provide a reflection API. Reflection means to discover properties of programs at runtime. This includes [5]: Determine the class of an object Get information about a class s modifiers, fields, methods, constructors, and superclasses Find out what constants and method declarations belong to an interface Create an instance of a class whose name is not known until runtime Get and set the value of an object s field, even if the field name is unknown to your program until runtime Invoke a method on an object, even if the method is not known until runtime Create a new array, whose size and component type are not known until runtime, and then modify the array s components The first obvious application area of reflection is certainly a debugger. But monitoring and modifying programms during runtime is as meaningfull, unless even more. In fact Eiffel does not feature a full reflection library. There exists an Eiffel class INTERNAL, which supports getting information about the fields of an object and modifying them, but as mentioned above this is only a part of a full reflection API. 1.2 Eiffel object model The special interest of this master thesis is to map a very sophisticated object model into a reflection library. Eiffel, compared to state of the art object-oriented programming languages, supports programmers with lots of specialities to increase software quality in large software systems. To show what specialities are meant, here is a small choice: Differentiation of class and type (genericity) Renaming or redefinition of features to reduce the complexity of multiple inheritence Feature export to only a set of classes 1.3 Scope of the work The master project is composed of tree parts: 1. Evaluation of the existing reflection APIs of Java, C#, Smalltalk and maybe one of the two script oriented languages Python or Ruby. Finally a comparison with the Eiffel class INTERNAL will be made: Showing usage of each API with short but clear examples Determining the design issues of each API Showing assets and drawbacks of the design of each API including a comparison of the APIs among each other 1
3 2. Design of a full Eiffel reflection library (ERL): Decision of a design on the basis of the results obtained by Partial implementation of ERL 4. Design and implementation of an object editor: Showing usage of ERL Providing possibilities to travers a given object structure to see and modify the fields 1.4 Intended results Reflection Library for Eiffel The aim of this thesis is to develop a reflection library for Eiffel. The library should be carefully designed according to the evaluation of the existing reflection APIs of Java, C# and Smalltalk and maybe Python or Ruby. To obtain a well designed Eiffel library the guidelines of OOSC2 ([2]) must be fulfilled (see 3.2). Because the compiler and runtime environment of Eiffel does not support full reflection, the implementation of the library is not feasible to full extend. But all contracted interfaces have to be available and all features available in INTERNAL must be implemented Object editor The object editor will show the usage of the reflection library. The required set of its features is to travers given object structures and modify their fields. To give the opportunity to use the object editor in Introduction to Programming course, it must be easy to use and have a user guide Thesis report The part of the evaluation of existing reflection APIs in the final report should give the readers an introduction to each API. This also includes reasonable examples to show how to use the APIs. Finally a comparison between their designs will point out how a good reflection library shoud be designed. All made design decisions of the ERL and the object editor must be well explained in the thesis report. Further the ERL design should be comprehensible with the result of the evaluation of the existing reflection APIs. 2 Background material 2.1 Reading list Eiffel object model: [1] Object technology, library design: [2], [3] Reflection in general: [4] Reflection in Java: [3], [5], [6], [7], [8], [9], [10] Reflection in.net: [3], [11], [12] Reflection in Smalltalk: [13], [14], [15] Reflection in Ruby: [16], [17] Reflection in Python: [18], [19] Object editors: [20] 2
4 3 Project management 3.1 Objectives and priorities Eiffel reflection library Objective Priority API Design 1 API Documentation 1 Implementation of INTERNAL features Object editor Objective Priority Design and implementation 1 Ease of use Thesis report Objective Priority Evaluation of exiting reflection APIs 1 Explanation of ERL design decisions 1 Object editor user guide Criteria for success The main goal of this project is to develop a well designed reflection library for Eiffel. Therefor the criteria for success is the quality of software and the documentation. The subprojects object editor and evaluation of existing reflection APIs have to fulfill the same criteria. To achieve this, some points must be satisfied: Quality of software: Design by contract Core principles of OOSC2 [2] Good design of the interface Completeness with respect to the limitations of the compiler and runtime environment: Complete interface of all features of a full reflection library in contractual form Implementation of all features available in INTERNAL Implementation of the object editor to travers a given object structure and modify the fields Quality of documentation: Good structure Understandability Completeness 3
5 3.3 Method of work The technologies involved are:.net Framework and SDK 1.1 Java 2 SDK and 1.5beta Squeak (Smalltalk) Python / Ruby ISE EiffelStudio LATEX The Java reflection examples, the ERL and the object editor will be developed on Linux, the C# reflection examples on Windows. The documentation is written using LATEX. 3.4 Qualitiy management Documentation The thesis report will be written throughout the whole project. Each of the project steps will be adhered in a corresponding chapter. The user guide for the object editor is part of the thesis report Validation steps To close the project successfully the following meetings should be made: Weekly status report to the supervising assistant, reasonably every friday Special meetings with the supervising assistant after completing a subproject Obscurities will be discussed with the supervising assistant 4 Plan with milestones 4.1 Project steps and milestones Existing reflection APIs (M1): Develop Java, C#, Smalltalk and maybe Python or Ruby reflection examples Evaluate APIs and compare them with INTERNAL Design of the eiffel reflection library (M2): Specify full reflection according to the existing APIs and the Eiffel object model [1] Design of ERL Validation Partial implementation of ERL (M3): Implement features of INTERNAL Test cases 4
6 Object editor (M4): Design and specification Implement object editor Test cases Implement example object structur User guide Thesis report (M5) 4.2 Deadline Project start: Monday, Project end: Wednesday, Total work time: 26 weeks + 3 days = 133 days 4.3 Tentative schedule References [1] Meyer, Bertrand. Eiffel: The Language, 1st Edition, 2nd Printing, Prentice Hall PRT, [2] Meyer, Bertrand. Object-Oriented Software Construction, 2nd Edition, Prentice Hall, [3] Szyperski, Clemens. Component Software - Beyond Object-Oriented Programming, 2nd Edition, Addison-Wesley,
7 [4] Proceedings of the Reflection 96 Conference, San Francisco, April www2.parc.com/csl/groups/sda/projects/reflection96/index.html [5] Green, Dale. Trail: The Reflection API java.sun.com/docs/books/tutorial/reflect/ [6] Sosnoski, Dennis M. Java programming dynamics, Part 1: Classes and class loading www-106.ibm.com/developerworks/java/library/j-dyn0429/ [7] Sosnoski, Dennis M. Java programming dynamics, Part 2: Introducing reflection www-106.ibm.com/developerworks/java/library/j-dyn0603/ [8] Sosnoski, Dennis M. Java programming dynamics, Part 3: Applied reflection www-106.ibm.com/developerworks/java/library/j-dyn0715.html [9] Sosnoski, Dennis M. Java programming dynamics, Part 4: Class transformation with Javassist www-106.ibm.com/developerworks/java/library/j-dyn0916.html [10] Becker, Dan. Reflection: A new way to discover information about Java classes www-106.ibm.com/developerworks/java/library/j-reflection.html [11] Liberty, Jesse. Programming C#, 3rd Edition, O Reilly, [12] Microsoft MSDN Library msdn.microsoft.com/library/ [13] Goldber, Adele & Robson, David. Smalltalk-80: The Language, 1st Edition, [14] Rivard, Fred. Smalltalk: a Reflective Language, Proceedings of the Reflection 96 Conference, San Francisco, April [15] Squeak [16] Programming Ruby - The Pragmatic Programmer s Guide [17] Ruby: Programmers Best Friend [18] Andersen, Anders. A note on reflection in Python 1.5 [19] Python Programming Language [20] BlueJ - The Interactive Java Environment 6
EIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan
EIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan Reto Ghioldi Department of Computer Science ETH Zürich September 6, 2005 Project period 8.September 2005-9.March 2006 Student
More informationContract Wizard II: Developing a GUI
Contract Wizard II: Developing a GUI PROJECT PLAN Diploma project Project period 2004-04-26 2004-08-25 Student name Petra Marty Status 9 th semester Email address martypet@student.ethz.ch Supervisor name
More informationWrapping a complex C++ library for Eiffel. FINAL REPORT July 1 st, 2005
Wrapping a complex C++ library for Eiffel FINAL REPORT July 1 st, 2005 Semester project Student: Supervising Assistant: Supervising Professor: Simon Reinhard simonrei@student.ethz.ch Bernd Schoeller Bertrand
More informationMaster Thesis Project Plan. Reusable Mathematical Models
Master Thesis Project Plan Reusable Mathematical Models Tobias K. Widmer widmer@id.ethz.ch Supervisors: Prof. Dr. B. Meyer B. Schoeller Chair of Software Engineering Department of Computer Science, ETH
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 1: Issues of software quality Agenda for today 3 Introduction Some statistics
More informationNested Class Modularity in Squeak/Smalltalk
Nested Class Modularity in Squeak/Smalltalk Software Architecture Group, Hasso Plattner Institute Master s Thesis Disputation August 21, 2015 What is Modularity? According to Bertrand Meyer (Object-oriented
More informationConcurrency Patterns in SCOOP
Concurrency Patterns in SCOOP Master Thesis Project Plan Project period: 10. March to 8. September 2014 Student name: Roman Schmocker, 09-911-215 Status: 4. semester, Msc in Computer Science Email address:
More informationObject-Oriented Software Construction
1 Object-Oriented Software Construction Bertrand Meyer 2 Lecture 2: EiffelStudio and project presentation Agenda for today 3 EiffelStudio: The ISE Eiffel environment Project presentation Agenda for today
More informationCSE 413 Spring Introduction to Ruby. Credit: Dan Grossman, CSE341
CSE 413 Spring 2011 Introduction to Ruby Credit: Dan Grossman, CSE341 Why? Because: Pure object-oriented language Interesting, not entirely obvious implications Interesting design decisions Type system,
More informationConcepts in Programming Languages
Concepts in Programming Languages Marcelo Fiore Computer Laboratory University of Cambridge 2012 2013 (Easter Term) 1 Practicalities Course web page: with lecture
More informationSan José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018
San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018 Course and Contact Information Instructor: Thomas Austin Office
More informationCS240: Programming in C
CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special
More informationCall by Declaration. Erik Ernst 1. Dept. of Computer Science, University of Aarhus, Denmark
Call by Declaration Erik Ernst 1 Dept. of Computer Science, University of Aarhus, Denmark eernst@daimi.au.dk Abstract. With traditional inheritance mechanisms, a subclass is able to use inherited features
More informationIntroduction To Programming Using Java: An Object- Oriented Approach (2nd Edition) By David Arnow, Scott Dexter
Introduction To Programming Using Java: An Object- Oriented Approach (2nd Edition) By David Arnow, Scott Dexter Second edition Practical Software Development using UML and Java. Second.. in the formal
More informationCS Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0
SYL-410-2014C CS 410 - Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0 Course location: 107 ERB, Evansdale Campus Course times: Tuesdays and Thursdays, 2:00-3:15 Course
More informationProseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group
Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Outline Basic Requirements Preliminary Dates
More informationAdvanced Topics in Object Technology
1 Advanced Topics in Object Technology Bertrand Meyer Contact 2 : http://se.inf.ethz.ch Course assistant: Karine Arnout http://se.inf.ethz.ch/people/arnout 3 Lecture 1: Introduction, Quality issues, Lifecycle
More informationToday. An Animated Introduction to Programming. Prerequisites. Computer programming
Today 1 2 3 4 Computer programming What is this course about? We re making several assumptions about you as a student. In particular, we assume that you have: Never taken a programming course before. Have
More informationCOURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015
****************************************************************************** YEAR COURSE OFFERED: 2015 SEMESTER COURSE OFFERED: SPRING DEPARTMENT: COMPUTER SCIENCE COURSE NUMBER: 20019 Room and Time:
More informationObject-Oriented Software Construction
1 Object-Oriented Software Construction Bertrand Meyer Contact 2 Chair of Software Engineering: http://se.inf.ethz.ch Course assistant: Joseph N. Ruskiewicz http://se.inf.ethz.ch/people/ruskiewicz 3 Lecture
More informationCSC 326H1F, Fall Programming Languages. What languages do you know? Instructor: Ali Juma. A survey of counted loops: FORTRAN
What languages do you know? CSC 326H1F, Programming Languages The usual suspects: C, C++, Java fine languages nearly the same Perhaps you've also learned some others? assembler Basic, Visual Basic, Turing,
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 5: Design patterns Agenda for today 3 Overview Benefits of patterns
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject Cat-nbr Class Term Mode Units Campus CSC 2402 30366 1, 2004 ONC 1.00 TWMBA Academic group:
More informationProgramming Languages & Paradigms PROP HT Abstraction & Modularity. Inheritance vs. delegation, method vs. message. Modularity, cont d.
Programming Languages & Paradigms PROP HT 2011 Abstraction & Modularity Lecture 6 Inheritance vs. delegation, method vs. message Beatrice Åkerblom beatrice@dsv.su.se 2 Modularity Modularity, cont d. Modular
More informationC++ Programming for Programmers using Microsoft Visual C Professional
C++ Programming for Programmers using Microsoft Visual C++ 6.0 Professional Compiled and Presented by Thomas P. Sturm, Ph.D. Graduate Programs in Software Technical Seminar The University of St. Thomas
More informationObject Oriented Program Correctness with OOSimL
Kennesaw State University DigitalCommons@Kennesaw State University Faculty Publications 12-2009 Object Oriented Program Correctness with OOSimL José M. Garrido Kennesaw State University, jgarrido@kennesaw.edu
More informationCALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL
CALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL Courses must be submitted by October 15, 2013, and finalized by the end of the fall semester to make the next catalog (2014-15)
More informationLate-bound Pragmatical Class Methods
Late-bound Pragmatical Class Methods AXEL SCHMOLITZKY, MARK EVERED, J. LESLIE KEEDY, GISELA MENGER Department of Computer Structures University of Ulm 89069 Ulm, Germany {axel, markev, keedy, gisela@informatik.uni-ulm.de
More informationCS 0449 Intro to Systems Software Fall Term: 2181
CS 0449 Intro to Systems Software Fall Term: 2181 Class Recitation Recitation Recitation Time: 11:00am 12:15pm 03:00pm 03:50pm 10:00am 10:50am 09:00am 09:50am Days: TH T W F Number 19730 20024 19731 27127
More informationTechnology in Action. Chapter Topics (cont.) Chapter Topics. Reasons for Software Programming. Information Systems 10/29/2010
Technology in Action Chapter 10 Behind the Scenes: Building Applications 1 2 Chapter Topics System development life cycle Life cycle of a program Problem statement Algorithms Moving from algorithm to code
More informationDesign by Contract in Eiffel
Design by Contract in Eiffel 2002/04/15 ctchen@canthink.com.com.tw.tw Reference & Resource Bertrand Meyer, Object-Oriented Oriented Software Construction 2nd,, 1997, PH. Bertrand Meyer, Eiffel: The Language,,
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 15: Object-Oriented Principles 1 Open Closed Principle (OCP) Classes should be open for extension but closed for modification. OCP states that we should
More informationCharacteristics of Runtime Program Evolution
Characteristics of Runtime Program Evolution Mario Pukall and Martin Kuhlemann School of Computer Science, University of Magdeburg, Germany {pukall, kuhlemann}@iti.cs.uni-magdeburg.de Abstract. Applying
More informationPrefix COMP Course# 421 Title Unix for Programmers Units (3) 3 hours lecture per week 3 hours lecture per week
CALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL Courses must be submitted by October 15, 2010, to make the next catalog (2011-12) production DATE (CHANGE DATE EACH TIME REVISED):
More information2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:
College of San Mateo Official Course Outline 1. COURSE ID: CIS 278 TITLE: (CS1) Programming Methods: C++ C-ID: COMP 122 Units: 4.0 units Hours/Semester: 48.0-54.0 Lecture hours; 48.0-54.0 Lab hours; and
More informationCLOVIS WEST DIRECTIVE STUDIES P.E INFORMATION SHEET
CLOVIS WEST DIRECTIVE STUDIES P.E. 2018-19 INFORMATION SHEET INSTRUCTORS: Peggy Rigby peggyrigby@cusd.com 327-2104. Vance Walberg vancewalberg@cusd.com 327-2098 PURPOSE: Clovis West High School offers
More informationCSC 111 Introduction to Computer Science (Section C)
CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming
More informationObject-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava
Object-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava Nathan Burles 1, Edward Bowles 1, Alexander E. I. Brownlee 2, Zoltan A. Kocsis 2, Jerry Swan 1, Nadarajen Veerapen 2
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:
More informationPROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development
INTRODUCING API DESIGN PRINCIPLES IN CS2 Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 jaime@cs.uno.edu ABSTRACT CS2 provides a great opportunity to teach an
More informationAE Computer Programming for Aerospace Engineers
AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section
More informationECE 3574: Applied Software Design
ECE 3574: Applied Software Design Chris Wyatt Spring 2018 Welcome to ECE 3574: Applied Software Design CRN 19016 Website: https://filebox.ece.vt.edu/~ece3574 Instructor: Chris Wyatt, clwyatt@vt.edu Today
More informationObjects First with Java
^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney
More informationAn Object Model for Multiparadigm
1 of 7 03/02/2007 15:37 http://www.dmst.aueb.gr/dds/pubs/conf/1994-oopsla-multipar/html/mlom.html This is an HTML rendering of a working paper draft that led to a publication. The publication should always
More information6.088/6.084 Robotics Project Subject Information and Syllabus
6.088/6.084 Robotics Project Subject Information and Syllabus Staff: Prof. Daniela Rus (Course Coordinator), Rm 32-374, rus@csail.mit.edu, x8-7567 Dr. Nikolaus Correll, Rm 32-375, nikolaus@csail.mit.edu,
More informationThe Procedure Abstraction
The Procedure Abstraction Procedure Abstraction Begins Chapter 6 in EAC The compiler must deal with interface between compile time and run time Most of the tricky issues arise in implementing procedures
More informationESET 369 Embedded Systems Software, Spring 2018
ESET 369 Embedded Systems Software, Spring 2018 Syllabus Contact Information: Professor: Dr. Byul Hur Office: Fermier 008A Telephone: (979) 845-5195 FAX: E-mail: byulmail@tamu.edu Web: rftestgroup.tamu.edu
More informationB. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics
Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory
More informationESET 369 Embedded Systems Software, Fall 2017
ESET 369 Embedded Systems Software, Fall 2017 Syllabus Contact Information: Professor: Dr. Byul Hur Office: Fermier 008A Telephone: (979) 845-5195 FAX: E-mail: byulmail@tamu.edu Web: rftestgroup.tamu.edu
More informationSprint 2017, Sul Ross State University
Instructor: Dr. Kennard Laviers CS 2360-001 LINUX Sprint 2017, Sul Ross State University Office Location: ACR 107 Office Phone: 432-837-8500 Email: kennard.laviers@sulross.edu Office Hours: MW 8:30am -
More informationMathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10
Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer
More informationIntroduction to Programming
Introduction to Programming Summer Term 2014 Dr. Adrian Kacso, Univ. Siegen adriana.dkacsoa@duni-siegena.de Tel.: 0271/740-3966, Office: H-B 8406 State: April 9, 2014 Betriebssysteme / verteilte Systeme
More informationAnnex A: Terms of Reference Arabic Translation of Website Teaching Coding
Annex A: Arabic Translation of Website Teaching Coding 11 February 2015 Reference: RFP/2015/657 Table of Contents 1 Introduction...3 1.1 Background...3 1.2 Statement of Purpose & Objectives...3 2 Requirements...3
More informationObjects and Classes Lecture 1
Objects and Classes Lecture 1 Waterford Institute of Technology January 6, 2016 John Fitzgerald Waterford Institute of Technology, Objects and ClassesLecture 1 1/19 Fundamental Programming Course Content
More informationThe Contract Pattern. Design by contract
The Contract Pattern Copyright 1997, Michel de Champlain Permission granted to copy for PLoP 97 Conference. All other rights reserved. Michel de Champlain Department of Computer Science University of Canterbury,
More informationFrancesco Nidito. Programmazione Avanzata AA 2007/08
Francesco Nidito Programmazione Avanzata AA 2007/08 Outline 1 2 3 4 Reference: Micheal L. Scott, Programming Languages Pragmatics, Chapter 10 , type systems and type checking A type type is an abstraction
More informationAbout Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals
More informationCS Systems Qualifying Exam 2014
CS Systems Qualifying Exam 2014 Important Dates April 27: Registration ends. Registration instructions are below. When you register, you must declare the three exams you plan to take. May 19: Exams. Candidates
More informationFrancesco Nidito. Programmazione Avanzata AA 2007/08
Francesco Nidito Programmazione Avanzata AA 2007/08 Outline 1 2 3 4 Reference: Micheal L. Scott, Programming Languages Pragmatics, Chapter 10 , type systems and type checking A type type is an abstraction
More informationCSc 520. Course Outline (Subject to change) Course Outline (Subject to change)... Principles of Programming Languages. Christian Collberg
Slide 0 2 Course Outline (Subject to change) This course will define, analyze and evaluate important concepts found in current programming languages. Its goals are to build an ability to evaluate and compare
More informationMulti-Paradigm Approach for Teaching Programming
Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate
More informationCOURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia
Page : 1 of 5 Lecturer : Dr. Norsham binti Idris Room No. : Software Engineering Department, Telephone No. : 07-5532348/013-7261920 E-mail : norsham@utm.my Course Synopsis : This course presents the concepts
More informationA Thought on Specification Reflection
A Thought on Specification Reflection Yoonsik Cheon, Yoshiki Hayashi Department of Computer Science, University of Texas at El Paso El Paso, Texas 79912 USA cheon@cs.utep.edu Gary T. Leavens Department
More informationCPS122 Lecture: Course Intro; Introduction to Object-Orientation
Objectives: CPS122 Lecture: Course Intro; Introduction to Object-Orientation 1. To introduce the course requirements and procedures. 2. To introduce fundamental concepts of OO: object, class Materials:
More informationEECS 1001 and EECS 1030M, lab 01 conflict
EECS 1001 and EECS 1030M, lab 01 conflict Those students who are taking EECS 1001 and who are enrolled in lab 01 of EECS 1030M should switch to lab 02. If you need my help with switching lab sections,
More informationAl al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department
Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces
More informationDimensions for the Separation of Concerns in Describing Software Development Processes
Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,
More informationOn Preserving Domain Consistency for an Evolving Application
On Preserving Domain Consistency for an Evolving Application João Roxo Neves and João Cachopo INESC-ID / Instituto Superior Técnico, Universidade Técnica de Lisboa, Portugal {JoaoRoxoNeves,joao.cachopo}@ist.utl.pt
More informationWelcome to Introduction to Computer Science I
Welcome to Introduction to Computer Science I CSE 1020 moodle.yorku.ca Instructor Name: Franck van Breugel Email: franck@cse.yorku.ca Please use your EECS or York account to send me email Office: Lassonde
More informationTTh 9.25 AM AM Strain 322
TTh 9.25 AM - 10.40 AM Strain 322 1 Questions v What is your definition of client/server programming? Be specific. v What would you like to learn in this course? 2 Aims and Objectives v Or, what will you
More informationSelf-checking software insert specifications about the intent of a system
Assertions Reading assignment A. J. Offutt, A Practical System for Mutation Testing: Help for the Common Programmer, Proceedings of the 12th International Conference on Testing Computer Software, Washington,
More informationBCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus
BCS Higher Education Qualifications Diploma in IT Object Oriented Programming Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved
More informationSan Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017
San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location: MacQuarrie
More informationAdvantages of dynamic method-oriented mechanism in a statically typed object-oriented programming language Z0
Advantages of dynamic method-oriented mechanism in a statically typed object-oriented programming language Z0 Sašo Greiner, Janez Brest, Viljem Žumer University of Maribor, Faculty of Electrical Engineering
More informationStatic type safety guarantees for the operators of a relational database querying system. Cédric Lavanchy
Static type safety guarantees for the operators of a relational database querying system Cédric Lavanchy June 6, 2008 Contents 1 Previous work 2 2 Goal 3 3 Theory bases 4 3.1 Typing a relation...........................
More informationMcGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca
McGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca Time and Place * Days and Times: Tuesdays from 2:35-4:25 PM May 02 to May 12 ENGMC 11 Thursdays from 2:35-4:55 PM May
More informationRuntime Access Control in C# 3.0 Using Extension Methods
Runtime Access Control in C# 3.0 Using Extension Methods Mihály Biczó, Krisztián Pócza, and Zoltán Porkoláb Eötvös Loránd University, Faculty of Informatics, Dept. of Programming Languages Pázmány Péter
More informationICS111 Introduction to Computer Science
ICS111 Introduction to Computer Science 3 Credits Distance Learning INSTRUCTOR: Laura Sue OFFICE: Hale Palanakila 119A OFFICE HOURS: Mondays 2:30-4:00 pm & Wednesdays 9:30-10:30 am in Hale Palanakila 122
More informationThis tutorial explains how you can use Gradle as a build automation tool for Java as well as Groovy projects.
About the Tutorial Gradle is an open source, advanced general purpose build management system. It is built on ANT, Maven, and lvy repositories. It supports Groovy based Domain Specific Language (DSL) over
More informationCourse: Honors AP Computer Science Instructor: Mr. Jason A. Townsend
Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend Email: jtownsend@pkwy.k12.mo.us Course Description: The material for this course is the equivalent of one to two semesters of an entry
More informationCSSE2002/7023 The University of Queensland
CSSE2002 / CSSE7023 Semester 1, 2016 Assignment 1 Goal: The goal of this assignment is to gain practical experience with data abstraction, unit testing and using the Java class libraries (the Java 8 SE
More information3D Graphics Programming Mira Costa High School - Class Syllabus,
3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and
More informationJava for Programmers Course (equivalent to SL 275) 36 Contact Hours
Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the
More informationObject-Oriented Analysis and Design
0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office
More informationAddition about Prototypes
Vorlesung Mensch-Maschine-Interaktion Evaluation Ludwig-Maximilians-Universität München LFE Medieninformatik Heinrich Hußmann & Albrecht Schmidt WS2003/2004 http://www.medien.informatik.uni-muenchen.de/
More informationNEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department
NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST1201 Programming Fundamentals (2 class hours, 2 lab hours, 3 credits) Course Description: This course is an intensive
More informationCUBE. Configuration Management Report. Hakan Nizamoğlu Yiğitalp Ertem Murat Toprak Saim Güveloğlu
CUBE Configuration Management Report Configuration Management Report Hakan Nizamoğlu Yiğitalp Ertem Murat Toprak Saim Güveloğlu 2010 C U B E C O N F I G U R A T I O N M A N A G E M E N T R E P O R T Table
More informationCommunity College of Vermont
Page 1 of 5 Community College of Vermont Request for Proposal: Web Design & Development..................................................................................................................
More informationAdding Contracts to C#
Adding Contracts to C# Peter Lagace ABSTRACT Design by contract is a software engineering technique used to promote software reliability. In order to use design by contract the selected programming language
More informationCOURSE OUTLINE. Course lecturer(s) Name Office Tel (07-55) Dr Norsham Idris N /
COURSE OUTLINE Software Engineering/Computing Page: 1 of 7 Course code: SCSJ2154 Academic Session/Semester: 2017//2 Course synopsis Course coordinator This course presents the concepts of object orientation
More informationONLINE JOB SEARCH SWETHA DEVA A REPORT. submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE
ONLINE JOB SEARCH By SWETHA DEVA A REPORT submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing and Information Sciences College of Engineering KANSAS
More informationDesign issues for objectoriented. languages. Objects-only "pure" language vs mixed. Are subclasses subtypes of the superclass?
Encapsulation Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data types type definition is hidden from the user variables of the type can be declared variables
More informationBoca Raton Community High School AP Computer Science A - Syllabus 2009/10
Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,
More informationSan José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017
San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017 Course and Contact Information Instructor: Prakash Atawale Office Location: DH 282
More informationCSCI 136 Data Structures & Advanced Programming. Fall 2018 Instructors Bill Lenhart & Bill Jannen
CSCI 136 Data Structures & Advanced Programming Fall 2018 Instructors Bill Lenhart & Bill Jannen Administrative Details Class roster: Who s here? And who s trying to get in? Handout: Class syllabus Lecture
More informationCourse and Unix Intro
Course and Unix Intro Comp-206 : Introduction to Software Systems Lecture 1 Alexandre Denault Computer Science McGill University Fall 2006 Instructor Alexandre Denault Graduate student, working in the
More informationCS112 Lecture: Defining Instantiable Classes
CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:
More informationBlaise Questionnaire Text Editor (Qtxt)
Blaise Questionnaire Text Editor (Qtxt) Grayson Mitchell, Statistics New Zealand 1. Abstract Qtxt is a program designed to reduce the amount of work involved with the production of large questionnaires.
More information