Introducing Java into the teaching of distributed systems
1999, Frontiers in Education …
https://doi.org/10.1109/FIE.1999.841579…
6 pages
1 file
Sign up for access to the world's latest research
Abstract
Due to the successful development of the Internet, the course of distributed systems has received great attention by many universities and colleges in their computer science curricula. A comprehensive distributed system course involves many disciplines, such as ...
Key takeaways
AI
AI
- Java effectively merges key distributed systems topics like concurrency and object-oriented design.
- The project simulates a banking system with concurrent transactions across multiple ATM machines.
- The implementation utilizes Java's multithreading features to manage up to 12 simultaneous transactions.
- Synchronization mechanisms ensure the correctness of parallel transactions by preventing race conditions.
- Future developments may extend the program to real network environments and integrate additional distributed computing topics.
Related papers
2007
Distributed Software Engineering (DSE) concepts in Computer Science (or Engineering) Degrees are commonly introduced using a hands-on approach mainly consisting in teaching a distributed and component-based technology platform (as Java Enterprise Edition or Microsoft .NET) and proposing the students to develop a small distributed software application with it. Though this approach provides some relevant practical knowledge to the students, we believe that it is not the most appropriate one to teach all the specificities of DSE. Thus, in this paper we report on our experience with the redesign of the contents of an initial DSE course following an MDAbased approach. By raising the level of abstraction we gained modularity, separation of concerns and technology independence, while making the course evolve according to the latest trends in software development methods. Our experience was not free from problems but in general the initiative has been positively evaluated and welcomed by the students.
ACM Inroads, 2010
This paper describes a set of fi ve programming projects in an undergraduate Operating Systems course. The problems are designed to reinforce the fundamental concepts that are discussed in most operating systems textbooks. Students are required to write programs that will simulate the behavior of the process management, process synchronization, memory management, and storage management components of an operating system.
IJCIRAS, 2019
Distributed computing is widely used in around the world. As the mean of "distribute", the required tasks can be performed concurrently on separated nodes. The proposed system is to implement the roll call system of university as the distributed computing environment. This system consists of two parts by the functionality, the administrator and the teacher. The administrator can add, edit and delete teachers, class, monthly call, department and years of courses. And the administrator can view and print the total roll call of each class. Each family teacher can add, modify and delete the students and calculate the attendance of the students. And then the teacher can also view and print the result of the attendance of the class. This system intends to ease the calculation of roll call system of university over distributed computing. In order to facilitate such a set of events and actions, many development platforms are available. The system uses the Java programming language and Java distributed system, called Java Remote Method Invocation (RMI) and MySQL database server. Keyword: RMI, MySQL 1.INTRODUCTION The distributed system can run on several computers that locate separately through the network. A common way of organizing software to run on distributed systems is to separate functions into two parts: clients and servers. A client is a program that uses services that other programs provide. The programs that provide the services are called servers. The client makes a request for a service, and a server performs that service. Server functions often require some resource management, in which a server synchronizes and manages access to the resource, and responds to client requests with either data or status information. Servers can in turn be clients of other server. Client programs typically handle user interactions and often request data or initiate some data modification on behalf of a user. A common design of client/ server systems uses three tiers. A client interacts with the user. An application server contains the business logic of the application. A resource manager stores data [7]. 2.AIM AND OBJECTIVES This system intends to implement with studying the necessary theory for distributed system and network technology. The aim and objectives of this system are as follows: • To know the basic concepts and general architecture of distributed computing environment • To understand how the computer can interact over the communication • To get the knowledge in the usefulness of distributed objects • To provide more efficiency and performance than that of stand-alone system • To help for making the roll call system of universities 3.BACKGROUND THEORY 3.1. Introduction of Distributed Computing A distributed system consists of multiple computers that can communicate through a network. The computers can connect with one to another in order to achieve a common goal. A computer program can runs in a distributed system is called a distributed program.
2010
Due to the prolific growth in connectivity, the development and implementation of distributed systems receives a lot of attention. Several technologies and languages exist for the development and implementation of such distributed systems; however, teaching students in these new technologies remains a challenge.
IEEE Distributed Systems Online, 2008
In a previous installment of this department (http://dsonline.computer.org/portal/pages/dsonline/ 2008/06/o6002edu.html), we discussed several challenges facing educators in distributed computing. The distributed computing community has begun to address these problems through the International Summer Schools in Grid Computing (ISSGC) series (www.iceage-eu.org/issgc08/index.cfm), started in 2003 and now in its sixth year. The schools recently gained support from the EU FP6 ICEAGE Project (www.iceage-eu.org).
First UK Workshop Java for High Performance …, 1998
Abstract. The aim of the Do! project is to ease the task of programming distributed applications using Java. In a rst step, the programmer writes his application as a shared-memory parallel program, by de ning the components of the program; in a second step, ...
A distributed application is built upon several layers. At the lowest level, a network connects a group of host computers together so that they can talk to each other. Network protocols like TCP/IP let the computers send data to each other over the network by providing the ability to package and address data for delivery to another machine. Higher-level services can be defined on top of the network protocol, such as directory services and security protocols. Finally, the distributed application itself runs on top of these layers, using the mid-level services and network protocols as well as the computer operating systems to perform coordinated tasks across the network. Distributed Computing For the past decade, "distributed computing" has been one of the biggest buzz phrases in the computer industry. At this point in the information age, we know how to build networks; we use thousands of engineering workstations and personal computers to do our work, instead of huge behemoths in glass-walled rooms. Surely we ought to be able to use our networks of smaller computers to work together on larger tasks. And we do-an act as simple as reading a web page requires the cooperation of two computers (a client and a server) plus other computers that make sure the data gets from one location to the other. However, simple browsing (i.e., a largely one-way data exchange) isn't what we usually mean when we talk about distributed computing. We usually mean something where there's more interaction between the systems involved. You can think about distributed computing in terms of breaking down an application into individual computing agents that can be distributed on a network of computers, yet still work together to do cooperative tasks. The motivations for distributing an application this way are many. Here are a few of the more common ones:
2010
Due to the prolific growth in connectivity, the development and implementation of distributed systems receives a lot of attention. Several technologies and languages exist for the development and implementation of such distributed systems; however, teaching students in these new technologies remains a challenge. Even though several models for teaching computer programming and teaching programming in a distance-based educational environment (DEE) exist, limited literature is available on models for teaching distributed computing in a DEE. Here our research we examine how distributed computing should be taught in a DEE in order to ensure effective and quality learning for students, specifically by investigating both the specific characteristics of distributed systems technologies and the models used for teaching programming in DEE. The required effectiveness and quality should be comparable to those for students exposed to laboratories, as commonly found in residential universities. This led to the identification of the factors that contribute to the success of teaching distributed computing and determine how these factors can be integrated into a proposed distributed systems distance-based teaching model we call the Independent Distributed Learning Model (IDLM).
IEEE Distributed Systems Online, 2008
In a previous installment of this department (http://dsonline.computer.org/portal/pages/dsonline/ 2008/06/o6002edu.html), we discussed several challenges facing educators in distributed computing. The distributed computing community has begun to address these problems through the International Summer Schools in Grid Computing (ISSGC) series (www.iceage-eu.org/issgc08/index.cfm), started in 2003 and now in its sixth year. The schools recently gained support from the EU FP6 ICEAGE Project (www.iceage-eu.org).
IEEE Transactions on Education, 2000
Grading programming assignments of courses on distributed programming can greatly benefit from extensive testing, especially if quality aspects such as portability, robustness, security, and performance have to be evaluated. This paper presents a framework that was developed at the Turin Polytechnic, Turin, Italy, to enable seamless and fast implementation of Web portals for automated management of student programming assignments. By using a computational grid facility to schedule testing jobs on different hosts, the framework offers high flexibility and scalability, thus enabling computationally intensive tests and some kinds of distributed tests, such as portability tests and field tests, which otherwise would be difficult to automate. The grid can be made of ordinary and even nondedicated or dismissed PCs, which, according to the authors' experience, is enough to offer students online extensive testing services. The framework was successfully used in two courses on distributed programming, located at different sites, partially overlapped in time, and attended by a total of 60 students. However, the framework should be scalable enough to work with increasing numbers of students and courses.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (8)
- Arnow, D. and Weiss, G., Introduction to Programming Using Java: An Object-Oriented Approach, Addison- Wesley, 1998.
- Coulouris, G., Dollimore, J. and Kindberg, T., Distributed Systems: Concepts and Design, second edition, Addison-Wesley, 1995.
- Hartley, S., Concurrent Programming: The Java Programming Language, Oxford University Press, 1998.
- Lea D., Concurrent Programming in Java: Design Principles and Patterns, Sun Microsystems, Addison- Wesley, Inc., 1997.
- Lewis, T., "Where Is Computing Headed?", Computer, Aug. 1994, pp.59-63.
- Nagler, E., Java Programming, 1998.
- Oaks, S. and Wong, H., Java Threads, O'Reilly & Associates, Inc., 1997.
- Umar A., Distributed Computing and Client-Server Systems, Prentice Hall PTR, 1993.