Boro Jakimovski Faculty of Computer Science and Engineering University Sa. Cyril and Methodius in Skopje 11th Workshop on.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Chapter 1 Writing a Program Fall Class Overview Course Information –On the web page and Blackboard –
Grid Communication Simulator Boro Jakimovski Marjan Gusev Institute of Informatics Faculty of Natural Sciences and Mathematics University of Sts. Cyril.
Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005.
DAAD project “Joint Course on OOP using Java” Development in teaching Design Patterns in the course OOP with Java Ana Madevska Bogdanova Faculty of Computer.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
COMPSCI 125 Spring 2011 Section What is computer science? … the study of the theoretical foundations of information and computation and their implementation.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
COMS S1007 Object-Oriented Programming and Design in Java August 5, 2008.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Systems Programming Course Gustavo Rodriguez-Rivera.
Chapter 6: An Introduction to System Software and Virtual Machines
StandardsDIS W4 RJK1 Distributed Information Systems Standards Bob Kummerfeld Department of Computer Science.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Chapter 3 Software Two major types of software
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
COMPUTER SCIENCE Mercer University College of Liberal Arts.
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
JokerStars: Online Poker William Sanville CSE 4904 Milestone II.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Computer Science II 810:062 Section 01. How is CS I different from CS II? When you teach Java there are a series of decisions that have to be made…
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Introduction to Grid Computing to students attending Concurrent and Distributed Programming courses Zaharije Radivojević School of Electrical Engineering.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Data Structures and Algorithms – using JAVA Boro Jakimovski University of Sts Cyril and Methodius, Skopje.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Elective Course OOP II: Creation, Experiences, Students’ Opinions Mirjana Ivanović, Dejan Mitrović, Miloš Radovanović Department of Mathematics and Informatics.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Teaching the simulator design in Java Zaharije Radivojević, Miloš Cvetanović 11th Workshop “Software Engineering Education and Reverse Engineering” Ohrid,
Java 2 Micro Edition The Connected, Limited Device Configuration.
1 6th Workshop "SEERE", Ravda, September 2006 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe.
CPSC 171 Introduction to Computer Science System Software and Virtual Machines.
1 WORKSHOP ON RESULTS OF IMPLEMENTATION OF COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP.
KING SAUD UNIVERSITY – COLLAGE OF COMPUTER AND INFORMATION SCIENCES CSC 113 JAVA ONLINE DOCUMENTATION.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Concurrent Programming in Java Based on Notes by J. Johns (based on Java in a Nutshell, Learning Java) Also Java Tutorial, Concurrent Programming in Java.
CSE 310 Object Oriented Programming Summer 2016 Suraiya Tairin.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
Course Code : 15ECSC204 Object Oriented Progamming.
Identify internal hardware devices (e. g
CSC 241: Introduction to Computer Science I
What Do Computers Do? A computer system is
Java Programming: From the Ground Up
Chapter 7 Text Input/Output Objectives
Topics discussed in this section:
Course: Introduction to Computers
CS 21a: Intro to Computing I
Real-time Software Design
What is “Data Structures”?
Chapter 27 WWW and HTTP.
CSCI1600: Embedded and Real Time Software
Introduction to Computer Science for Majors II
Operating Systems : Overview
Java Online documentation
Operating Systems : Overview
Technical Communication
Topics discussed in this section:
CSC 241: Introduction to Computer Science I
Presentation transcript:

Boro Jakimovski Faculty of Computer Science and Engineering University Sa. Cyril and Methodius in Skopje 11th Workshop on "Software Engineering Education and Reverse Education" 22nd - 27th August 2011

 Advanced Java Topics  Current materials  New contributions  Final remarks

 Joint Course in OOP is divided into several sections  Basic Java  Advanced Topics  Data Structures and Algorithms  Advanced Topics  Strings, Windows and Applets, Collections, Java I/O System, Serialization, Java 5 New Features, Generics, Enumerated Types, Annotations, Threads, Network Programming, Distributed Applications, Java Security, Databases, Internet Programming, EJB, Mobile Agents

 Supporting Java Examples  Java Enumeration Types  Java Generics  Bigger Tasks  Collections  Advanced Strings  Distributed Applications

 The examples are organized as follows  Task definition  Explanation  Solution  Sometimes there are several solutions if several approaches are possible or if several different classes in Java exist that can be used for solving the problem

 Task 1. Holding objects  Task 2. Tupple task library  Task 3. Generator interface  Task 4. Bingo  Task 5. Media Library  Task 6. Joining Media Library

 Task 1. Card  Task 2. 3-bit RGB Palette Enumeration

 Collections  Process Scheduler  Betting  Diet planner  Collection synchronization  Advanced Strings  Word counting  Text class  Distributed applications  Game bingo  Game submarine

 Process scheduler One of the main elements of a computer operating system is its scheduler of processes. Its duty is for a given set of processes, each having specified execution time and priority, to schedule their intervals of processor time. The purpose of this task is to implement a simulator that will simulate the execution of such process scheduler. The scheduler receives as input information a list of processes, each having a process arrival time (seconds from boot), execution time (seconds), priority (1-10, 10 being the highest priority). The scheduler behaves using the following rules:  If there is no process for processing wait  If there are processes that have arrived, choose the process with the highest priority that waited the longest  The program must receive its input from a text file having several lines in the following format:  ; ; ;

 Explanation The best implementation of a prioritized scheduler is by using a PriorityQueue. Java API has such class already implemented in java.util package. In order to utilize this class one must implement a class Process that implements the Comparable interface. We can also implement this program by using SortedLinkedList or a LinkedList and use the Collections.sort(List list) method for sorting Lists using natural ordering. In any case, we need to implement the Packet as Comparable class, ordered by priority and arrival time.

 Use these materials in the courses from this year  Gather feedback from the students  Integrate with new teaching materials from Novi Sad

 Questions?