P2P Multimedia File Sharing Application using Socket Programming

Size: px
Start display at page:

Download "P2P Multimedia File Sharing Application using Socket Programming"

Transcription

1 1 von :47 Project 40% towards module grade Due date: Week 13 (the week of 13 th April to 17 th April) Team size: 5 members per team P2P Multimedia File Sharing Application using Socket Programming Project Description Your main goal for this project is to build a complete (i.e., the whole project should be completed and running) and scalable (i.e., not only for a limited number of PCs) P2P system for multimedia sharing. The computers comprising the P2P network should be able to exchange multimedia files among themselves, and play them from the same application. Implementation Details You can choose one of the following three options to build your P2P architecture: 1. Pure P2P: Completely distributed. Arbitrary pairs of peers can communicate directly with each other, without the need for any dedicated server. This architecture actually agrees with the P2P definition in true sense. Gnutella is a very popular and well-known example for pure P2P network. 2. Hybrid P2P: Server (not in the traditional sense) based distributed system. The clients are responsible for the files to be downloaded or shared. The server (or server farm), on the other hand, provides a centralized directory and handles client search requests. Napster is a well-known example for Hybrid P2P network. 3. Your own creativity: You are also free to use your knowledge and skills to build a P2P system yourself. For this option, you have to know the basic characteristics of P2P networks and should be confident enough to argue why your proposed network is actually P2P and different from the

2 2 von :47 aforementioned two architectures. For example, just being able to download music files from one computer to another and vice versa, isn t actually P2P there are intricate architectural issues that you should be careful of. Required Features Search: Each host should be able to issue search commands, and obtain the results for its query. From the retrieved results, the host should be able to connect to a peer that holds the requested file, and start downloading from it. It is up to the individual groups how they implement this feature, and how they choose the peer ("nearest" or any other suitable metric, e.g., creating less load/congestion in the network, etc.) to start downloading. -- At the minimum, the user should be able to search a resource file by its file name. -- Also, the system should be able to upload/download multiple files at the same time to/from different peers. Browse: A host should be able to browse the sharable files of other hosts. It is up to the individual groups how they would like to implement this feature. For instance, one host can request for a list of IP addresses of other peers in the network, and then select one of them to browse. Another possible way to implement this feature, which may be more convenient to implement, is to browse the sharable files at a peer when you are downloading a file from that peer. While browsing, the user should also be able to select one of the browsed entries, and start downloading the file immediately from that peer. In addition, each host is free to make the browsable attribute for its shared directory ON or OFF, which means if the browsable option of one host is OFF, no other host will be able to browse its contents. Chat: A node should be able to chat with another node. If a peer is uploading or downloading to or from multiple nodes, then it should be able to chat with a subset or all of these nodes at the same time. Any node found within the upload or download window can be selected to instigate chatting. If multiple nodes are selected, then a conference with the selected nodes should take place. Multiple conferences with different sets of peers in different windows should also be supported. In addition, each node is free to make the chat attribute ON/OFF, which means if the chat option of one node is OFF, other nodes will not be able to send messages to it. Embedded Player: One media player should be incorporated into your application in order to play the downloaded multimedia files. Note that the player must be embedded; you are not allowed to call Microsoft Windows Media Player or any other Media Player from your application to play the files externally. Error Checking Mechanism: A peer should be able to check the integrity of the file downloaded. Look & Feel: When one node is providing a file to another node, the status (the percentage of the file already transferred, and the IP address or ID of the node which is downloading the file) should be shown in that node s upload window.

3 3 von :47 The download-progress should also be shown in the download window at the other node. You will be graded on your ultimate application s look & feel as well, so these things are no less important. Possible Optional Features 1. Advanced searching capability based on file type, music/movie author, and other keywords. 2. Continuation of interrupted file transfers from the point of interruption (may be from a different peer). 3. Mechanism that penalizes a selfish peer that only downloads from others, but never uploads. 4. Use your imagination! Points to Note 1. Our minimum requirement for this project is to be able to see a P2P network running (in a minimum of 4 laptops the larger the number the better), exchanging multimedia files, chatting and viewing them playing with your embedded media player. 2. People generally find Hybrid P2P network (i.e., with a centralized directory server) easier to understand and implement. 3. Groups that successfully implement a PURE P2P network, or their own P2P network architecture, will get bonus points. However, incomplete implementations of any minimum requirements would obviously not be acceptable to get these bonus points. 4. You are free to choose C/C++ or Java to implement the project. Even those with just C/C++ background may consider switching to Java socket programming since some of the requirements for this project can be very quickly achieved with Java (e.g., the embedded media player). Moreover, Java s byte-code should run in any machine irrespective of platforms. Groups that are able to run their application in both Windows and UNIX type machines simultaneously would obviously score some extra points. 5. The NetBeans IDE is a free, open-source Integrated Development Environment for developing Java/C++ software. You are strongly encouraged (suggested) to make use of this tool. 6. You should validate that your design exhibits P2P architecture characteristics. 7. You are not allowed to use open-source codes for the P2P architecture implementation and chatting mechanism. However, it is fine to use them for embedded media player and error-checking mechanism (with proper

4 4 von :47 acknowledgement). Required Experience/Skills 1. Solid background in programming with C/C++ or Java 2. Socket and multithreading programming Interim Reports In order to help ensure that no group is falling behind in meeting the project schedule, two interim reports will be required from each team. Although the reports will not count directly towards your final project marks, they are mandatory requirements to keep track of your progress, and more importantly, to let the TAs help spot any serious issues and give suggestions. There is no format requirement on the interim reports as long as they cover the issues described below. Please the reports to our TA, Jin Yunye, g @nus.edu.sg Report 1: Due by 22nd of February, 11:59PM Each team must submit a report (maximum 3 pages): 1. Briefly describe your system architecture. Use multiple block diagrams if you find it necessary to illustrate each part of your system. Note that the architecture description you have written can still be altered after this. 2. Show the distribution of the workload among group members. 3. Give a summary of work done so far. 4. Give a clear working schedule/timeline for project execution. 5. Identify the difficulties and problems so that the TAs can give their suggestions. Report 2: Due by 22nd of March, 11:59PM Each team must submit a report (maximum 5 pages): 1. Show the system block diagram, indicating clearly the flow of control messages, handshakes, and queries between the peers. Use multiple diagrams if you find it necessary to illustrate each part of your system. Also, describe briefly how you have implemented (or planned to implement) the required features. Try to write it in such a way that you can reuse them in your final report.

5 5 von :47 2. Show the distribution of the workload among group members. 3. Give a summary of work done so far. 4. Give a clear working schedule/timeline for the remaining project execution. 5. Identify the difficulties and problems so that the TAs can give their suggestions. Final Submission and Demo At the end of the project, you are required to: Submit all your source codes on a CD v The deadline will be about 1 or 2 days before the actual demo; date to be announced later Submit a team report (just a softcopy will do; it to Jin Yunye: g @nus.edu.sg) v You can find a description of the report requirements here Give a demo v Every team member needs to speak about the part that he/she has implemented v Each team will be given 20 minutes for the demo, plus a 5-minute setup time. Plan your 20 minutes properly! v Each team s demo will be closed to other teams (to ensure fairness) v Note: We are not expecting PowerPoint presentations. The flow will be much better if you can talk and demo at the same time. Of course, if you feel that having one or two PowerPoint slides could aid your demo, you are welcome to show them. Do a P2P evaluation of your peers contribution in the project v You can find the P2P evaluation form here More details about the final submission and the demo will be provided towards the project due date. For the demo, remember to backup previous working versions if you intend to make any last minute modifications. It will be pointless to claim that the program was working before the demo!

6 6 von :47 Academic Integrity Plagiarism will not be tolerated. Any form of plagiarism will be reported to the University, and will result in serious consequences. Useful Resources Tutorial on P2P Architecture (MS Word document; consolidated from a Wiki originally posted on UIUC website) Wikipedia s entry on P2P networks NetBeans Integrated Development Environment Documentation for NetBeans IDE Java SE Development Kit The Java Tutorials The Java Media Framework Creating Hello World! with Java TCPClient.java and TCPServer.java from Kurose Section 2.7 UDPClient.java and UDPServer.java from Kurose Section 2.8 WebServer.java from Kurose (3 rd edition) Section 2.9 Download the following from the IVLE Workbin, under Project Materials. These are good self-study materials for learning Socket Programming using Java: Multi-Threaded Web Server programming exercise from Kurose, and its Solutions Mail Client programming exercise from Kurose, and its Solutions Web Proxy Server programming exercise from Kurose, and its Solutions Questions? Please direct your questions to our Teaching Assistants, Jin Yunye (g @nus.edu.sg) and Mahtab Hossain (g @nus.edu.sg). Good Luck & Work Hard!

San 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 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 information

San 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 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 information

Assignment 2 Team Project: Distributed System and Application

Assignment 2 Team Project: Distributed System and Application Assignment 2 Team Project: Distributed System and Application Dr. Rajkumar Buyya and Dr. Maria Sossa Cloud Computing and Distributed Systems (CLOUDS) Laboratory School of Computing and Information Systems

More information

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks)

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) Problem Description Using a client-server architecture, design and implement a multi-threaded server that allows

More information

DEPARTMENT OF ACADEMIC UPGRADING

DEPARTMENT OF ACADEMIC UPGRADING DEPARTMENT OF ACADEMIC UPGRADING COURSE OUTLINE WINTER 2013 INTRODUCTION TO MATH 0081 INSTRUCTOR: Aidarus Farah PHONE: (780) 539-2810 OFFICE: Math Lab A210 E-MAIL: afarah@gprc.ab.ca OFFICE HOURS: &, 5:30

More information

DEPARTMENT OF ACADEMIC UPGRADING

DEPARTMENT OF ACADEMIC UPGRADING DEPARTMENT OF ACADEMIC UPGRADING COURSE OUTLINE WINTER 2014 INTRODUCTION TO MATH 0081 INSTRUCTOR: Joelle Reynolds PHONE: (780) 539-2810 or 2204 OFFICE: Math Lab A210 E-MAIL: jreynolds@gprc.ab.ca OFFICE

More information

Advanced Programming CMPS 109

Advanced Programming CMPS 109 Advanced Programming CMPS 109 Dr. Karim Sobh Computer Science Department Jack Baskin School of Engineering ksobh@cs.ucsc.edu Winter 2017 Basic Information Course Title: Advanced Programming (CMPS 109)

More information

Assignment Tutorial.

Assignment Tutorial. Assignment Tutorial rudolf.lam@mail.mcgill.ca What we are looking at today Overview Demo Why Motivation for this lecture on assignment How The way the assignment is run What The components of the assignment

More information

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2) Welcome Orientation to online CPS102 Computer Science 2 (Java 2) All online courses use Blackboard system, as soon as you login Blackboard in college s pipeline, please complete Blackboard Learn Student

More information

CMSC Introduction to Database Systems

CMSC Introduction to Database Systems CMSC 23500 Introduction to Database Systems Department of Computer Science University of Chicago Spring 2009 Quarter Dates: March 30 through June 2, 2009 Lectures: TuTh 12:00-1:20 in Ryerson 277 Labs:

More information

Ephorus Blackboard Building Block Manual For Instructors

Ephorus Blackboard Building Block Manual For Instructors Ephorus Blackboard Building Block Manual For Instructors Version: 2.0 Date: June 1, 2007 Content Create Assignments... 3 View Assignments... 5 The Report... 6 2 Create Assignments In order to create an

More information

Recitation # Embedded System Engineering Friday 16-Oct-2015

Recitation # Embedded System Engineering Friday 16-Oct-2015 Recitation #7 18-649 Embedded System Engineering Friday 16-Oct-2015 Note: Course slides shamelessly stolen from lecture All course notes Copyright 2006-2011, Philip Koopman, All Rights Reserved Announcements

More information

Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw- Hill, ISBN , 6th edition.

Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw- Hill, ISBN , 6th edition. Instructor: James Markulic Lecture: Distance Learning Office Hour: By appointment E-Mail: Markulic@njit.edu Course textbook: Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw-

More information

DEPARTMENT OF ACADEMIC UPGRADING

DEPARTMENT OF ACADEMIC UPGRADING DEPARTMENT OF ACADEMIC UPGRADING COURSE OUTLINE WINTER 2013 INTRODUCTION TO MATH 0081 INSTRUCTOR: Sukhvir Sandhu PHONE: (780) 539-2810 or 2234 OFFICE: Math Lab A210 or C310 E-MAIL: ssandhu@gprc.ab.ca OFFICE

More information

CSCE 315 Fall Team Project 3

CSCE 315 Fall Team Project 3 CSCE 315 Fall 2017 Team Project 3 Project Goal Your team is to build a system that puts together different existing web components in an application that provides a quality user interface to the joined

More information

Kaltura Blackboard Building Block - KAF

Kaltura Blackboard Building Block - KAF Kaltura Blackboard Building Block - KAF I. Introduction a. The Kaltura Building Block allows us to add powerful media tools to Blackboard, combing the best features of video sharing, webcam recording,

More information

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2017 Course and Contact Information Instructor: Dr.

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

CS 455/655 Computer Networks Fall Programming Assignment 1: Implementing a Social Media App Due: Thursday, October 5 th, 2017 (1pm)

CS 455/655 Computer Networks Fall Programming Assignment 1: Implementing a Social Media App Due: Thursday, October 5 th, 2017 (1pm) CS 455/655 Computer Networks Fall 2017 Programming Assignment 1: Implementing a Social Media App Due: Thursday, October 5 th, 2017 (1pm) To be completed individually. Please review Academic Honesty noted

More information

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2016 Course and Contact Information Instructor: Dr.

More information

INTRODUCTION TO BLACKBOARD: A TUTORIAL. Stefanie Mathes. Introduction to Blackboard: A Tutorial

INTRODUCTION TO BLACKBOARD: A TUTORIAL. Stefanie Mathes. Introduction to Blackboard: A Tutorial Introduction to Blackboard: A Tutorial Table of Contents Introduction... 3 Who is this tutorial for?... 3 What will this tutorial teach me?... 3 How is this tutorial organized?... 3 What materials do I

More information

Lab 1: Space Invaders. The Introduction

Lab 1: Space Invaders. The Introduction Lab 1: Space Invaders The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ Be sure

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 1 Course Introduction Lecturer: Albert C. M. Au

More information

Lab 1: Simon. The Introduction

Lab 1: Simon. The Introduction Lab 1: Simon The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need

More information

Using Kaltura Media for creating, storing and sharing video

Using Kaltura Media for creating, storing and sharing video Kaltura Media - A guide for students Using Kaltura Media for creating, storing and sharing video (draft version 4 September 2017) Prepared for the Faculty of Business & Law. Some of the information in

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercises wk02 Lab Basics First Lab of the course Required Reading Java Foundations - Section 1.1 - The Java Programming Language Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercise

More information

CS240: Programming in C

CS240: 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 information

Programming Assignments

Programming Assignments ELEC 486/586, Summer 2017 1 Programming Assignments 1 General Information 1.1 Software Requirements Detailed specifications are typically provided for the software to be developed for each assignment problem.

More information

Interactive Game Design with Greenfoot YEAR 1 Greenfoot Single-player Interactive Game

Interactive Game Design with Greenfoot YEAR 1 Greenfoot Single-player Interactive Game MESA VIRTUAL COMPUTER SCIENCE COMPETITION CYBER RULES 2018 Interactive Game Design with Greenfoot YEAR 1 Greenfoot Single-player Interactive Game Level: Type of Contest: Composition of Team: Number of

More information

CS 118 Project Phase 2 P2P Networking

CS 118 Project Phase 2 P2P Networking CS 118 Project Phase 2 P2P Networking Due Monday, March 15 th at 11:59pm Boelter Hall 4428, Box D3/C4 and via Electronic Submission Overview In this phase you will extend your work from Phase 1 to create

More information

Project 2 - Kernel Memory Allocation

Project 2 - Kernel Memory Allocation Project 2 - Kernel Memory Allocation EECS 343 - Fall 2014 Important Dates Out: Monday October 13, 2014 Due: Tuesday October 28, 2014 (11:59:59 PM CST) Project Overview The kernel generates and destroys

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

Software Engineering Large Practical (Android version) 2013/2014

Software Engineering Large Practical (Android version) 2013/2014 Software Engineering Large Practical (Android version) 2013/2014 Professor Stephen Gilmore School of Informatics Issued on: Wednesday 18 th September, 2013 About The Software Engineering Practical is available

More information

Lab 1 Implementing a Simon Says Game

Lab 1 Implementing a Simon Says Game ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.

More information

Programming Assignment 3

Programming Assignment 3 UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 3550 Section 002 Communication Networks Spring 2018 Programming Assignment 3 Introduction Having created a TCP client in programming assignment 2, it s

More information

ECE Object-Oriented Programming using C++ and Java

ECE Object-Oriented Programming using C++ and Java 1 ECE 30862 - Object-Oriented Programming using C++ and Java Instructor Information Name: Sam Midkiff Website: https://engineering.purdue.edu/~smidkiff Office: EE 310 Office hours: Tuesday, 2:30 to 4:00

More information

Object-Oriented Programming for Managers

Object-Oriented Programming for Managers 95-807 Object-Oriented Programming for Managers 12 units Prerequisites: 95-815 Programming Basics is required for students with little or no prior programming coursework or experience. (http://www.andrew.cmu.edu/course/95-815/)

More information

Course Title: Network+/Networking Fundamentals. Course Section: CNS-101-I1. FORMAT: Online

Course Title: Network+/Networking Fundamentals. Course Section: CNS-101-I1. FORMAT: Online Course Title: Network+/Networking Fundamentals Course Section: CNS-101-I1 FORMAT: Online TIME FRAME: Start Date: 15 January 2018 End Date: 06 May 2018 CREDITS: 4 INSTRUCTOR: Carlos J. Garcia Office Hours:

More information

Composition I, English Tuesday & Thursday 9:30-10:45, Simpkins 315 (Professor Erika Wurth, office # 109)

Composition I, English Tuesday & Thursday 9:30-10:45, Simpkins 315 (Professor Erika Wurth, office # 109) Composition I, English 180 014 Tuesday & Thursday 9:30-10:45, Simpkins 315 (Professor Erika Wurth, office # 109) The texts required for this course are: Writing the Personal, Getting Your Stories onto

More information

There is no required text book for this course. Online reading material, videos, and PowerPoint slides etc. will be provided via Canvas.

There is no required text book for this course. Online reading material, videos, and PowerPoint slides etc. will be provided via Canvas. Data Networks and Security - INFSYS 3842 Management of Data Networks and Security - INFSYS 6836 (Combined Section) Spring-2017 Thursdays 6:55pm to 9:35pm Express Scripts Hall (ESH) 103 (Ph.D. Business

More information

Welcome to CS 241 Systems Programming at Illinois

Welcome to CS 241 Systems Programming at Illinois Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright : University of Illinois CS 241 Staff 1 The Team Robin Kravets Office: 3114 SC rhk@illinois.edu TAs Wade Fagen, Farhana Ashraf,

More information

ONLINE LEARNING MOODLE INSTRUCTIONS FOR STUDENTS TAFENSW.EDU.AU

ONLINE LEARNING MOODLE INSTRUCTIONS FOR STUDENTS TAFENSW.EDU.AU ONLINE LEARNING MOODLE INSTRUCTIONS FOR STUDENTS TAFENSW.EDU.AU welcome CONTENTS TECHNICAL REQUIREMENTS FOR USING MOODLE 4 LOGGING INTO YOUR MOODLE COURSE 5 WELCOME TO YOUR STUDY EDITING YOUR MOODLE PROFILE

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

5COS005W Coursework 2 (Semester 2)

5COS005W Coursework 2 (Semester 2) University of Westminster Department of Computer Science 5COS005W Coursework 2 (Semester 2) Module leader Dr D. Dracopoulos Unit Coursework 2 Weighting: 50% Qualifying mark 30% Description Learning Outcomes

More information

CIS 101 Orientation Document Fall 2017

CIS 101 Orientation Document Fall 2017 CIS 101 Orientation Document Fall 2017 Fall 2017 ONLINE section 23989 To be successful in an online section you must be motivated, disciplined, and able to read and understand the material in the books

More information

DIG 3110 Web Design & Interactive Media

DIG 3110 Web Design & Interactive Media Florida International University FIU Digital Commons Course Syllabi Special Collections and University Archives Spring 2014 DIG 3110 Web Design & Interactive Media Susan Jacobson Journalism and Mass Communications

More information

BOSTON 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 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 information

CS4516 Advanced Computer Networks. Program 1 {February 4, 2013} 70 points

CS4516 Advanced Computer Networks. Program 1 {February 4, 2013} 70 points Program 1 {February 4, 2013} 70 points Disaster Victim Location Database Using Selective Repeat in the Data Link Layer Due: Sunday, February 10, 2013 at 11:59 p.m. This assignment consists of two components:

More information

Course and Contact Information. Catalog Description. Course Objectives

Course and Contact Information. Catalog Description. Course Objectives San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2015 Course and Contact Information Instructor: Dr.

More information

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard System Programming (MEEC/MEAer) Project Assignment 2016/2017 In this project the students will implement a simple distributed clipboard. Applications can copy and past to/from the distributed clipboard

More information

CS 398 ACC Streaming. Prof. Robert J. Brunner. Ben Congdon Tyler Kim

CS 398 ACC Streaming. Prof. Robert J. Brunner. Ben Congdon Tyler Kim CS 398 ACC Streaming Prof. Robert J. Brunner Ben Congdon Tyler Kim MP3 How s it going? Final Autograder run: - Tonight ~9pm - Tomorrow ~3pm Due tomorrow at 11:59 pm. Latest Commit to the repo at the time

More information

CS 677 Distributed Operating Systems. Programming Assignment 3: Angry birds : Replication, Fault Tolerance and Cache Consistency

CS 677 Distributed Operating Systems. Programming Assignment 3: Angry birds : Replication, Fault Tolerance and Cache Consistency CS 677 Distributed Operating Systems Spring 2013 Programming Assignment 3: Angry birds : Replication, Fault Tolerance and Cache Consistency Due: Tue Apr 30 2013 You may work in groups of two for this lab

More information

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University Advanced Relational Database Management MISM Course S19-95736 A3 Spring 2019 Carnegie Mellon University Instructor: Randy Trzeciak Office: HBH 1104C Office hours: By Appointment Phone: 412-268-7040 E-mail:

More information

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development Instructor: Dr. Ruibo Han Office: LeFrak Hall (LEF) 1111B Email: ruibo@umd.edu (preferred)

More information

CMSC 322 Computer Networks Applications and End-To- End

CMSC 322 Computer Networks Applications and End-To- End CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework

More information

Orientation for Online Students

Orientation for Online Students Orientation for Online Students Distance Learning mxccdistance@mxcc.commnet.edu (860) 343 5756 Founders Hall 131/131A Middlesex Community College Visit mxcc.edu/distance Orientation for Online Students

More information

(1) It is your responsibility to drop the class; failure to drop the class in a timely manner could result in a W or F on your record.

(1) It is your responsibility to drop the class; failure to drop the class in a timely manner could result in a W or F on your record. West Los Angeles College - Fall Semester 2013 Welcome To CS972 - Introduction to Cisco Network Fundamentals Instructor: Assistant Professor Marcus E. Butler Course Schedule: Online, Section #:8505 Please

More information

Lab 1 Implementing a Simon Says Game

Lab 1 Implementing a Simon Says Game ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.

More information

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian. Computer Networks Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc8400.html/ Slides by Rexford @ Princeton & Slides accompanying the Internet Lab Manual, slightly

More information

EECE.2160: ECE Application Programming Spring 2017

EECE.2160: ECE Application Programming Spring 2017 Course Meetings Section 201: MWF 8-8:50, Ball 314 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp17/ Schedule: http://mjgeiger.github.io/eece2160/sp17/schedule.htm

More information

Writeup for first project of CMSC 420: Data Structures Section 0102, Summer Theme: Threaded AVL Trees

Writeup for first project of CMSC 420: Data Structures Section 0102, Summer Theme: Threaded AVL Trees Writeup for first project of CMSC 420: Data Structures Section 0102, Summer 2017 Theme: Threaded AVL Trees Handout date: 06-01 On-time deadline: 06-09, 11:59pm Late deadline (30% penalty): 06-11, 11:59pm

More information

Data Structures. Subodh Kumar. Dept of Computer Sc. & Engg. IIT Delhi. Bharti 422)

Data Structures. Subodh Kumar. Dept of Computer Sc. & Engg. IIT Delhi. Bharti 422) Data Structures Subodh Kumar (subodh@iitd.ac.in, Bharti 422) Dept of Computer Sc. & Engg. IIT Delhi Logistics! Web: www.cse.iitd.ac.in/~subodh/courses/col106! Textbook: Data Structures and Algorithms in

More information

CNT 4004: Computer Networks I. Tentative Syllabus

CNT 4004: Computer Networks I. Tentative Syllabus CNT 4004: Computer Networks I Fall 2016 T/Th 12:30-1:45 ENC 1002 Tentative Syllabus 1. Instructor a. Miguel A. Labrador b. Office: ENB 332 c. Telephone: (813) 974-3260 d. Fax: (813) 974-5456 e. Email:

More information

While waiting for the lecture to begin, please complete. the initial course questionnaire.

While waiting for the lecture to begin, please complete. the initial course questionnaire. SENG 475 & ECE 569A: Advanced Programming Techniques for Robust Efficient Computing (With C++) Michael Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, Canada

More information

: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server

: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server 433 652: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server Problem Description Using a client server architecture, design and implement a multi threaded server that

More information

FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018

FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018 FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018 I. COURSE OVERVIEW This 15-week 2-credit hour course is an active introduction to developing an engineering mindset that

More information

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan EECS 282 Information Systems Design and Programming Atul Prakash Professor, Computer Science and Engineering University of Michigan 1 What is the Course About? A second programming course - but different

More information

CS 447 : Networks and Data Communications Programming Assignment #02 Total Points: 150

CS 447 : Networks and Data Communications Programming Assignment #02 Total Points: 150 CS 447 : Networks and Data Communications Programming Assignment #02 Total Points: 150 Assigned Date : Tuesday, October 23, 2018 Due Date : Tuesday, November 06, 2018 @ 12:29:59 p.m. Overview Your second

More information

Instructor: Anna Miller

Instructor: Anna Miller Media Graphics ADV 3203 Fall 2016 Advertising Media Graphics - 81584 - ADV 3203 Mondays and Wednesdays 12:15 PM - 1:30 PM room 1011 And Advertising Media Graphics - 82354 - ADV 3203 Mondays and Wednesdays

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. 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 information

BSc Computing CSY2026 Modern Networks. Module Tutor: Signed:

BSc Computing CSY2026 Modern Networks. Module Tutor: Signed: Division of Computing BSc Computing CSY2026 Modern Networks Date of Issue: 17/02/2017 Date for Submission: 28/04 2017 (23:59 by e-submission) Agreed Date for late submission: Student Name: Student ID:

More information

Interactr: an interaction diagram drawing tool

Interactr: an interaction diagram drawing tool Interactr: an interaction diagram drawing tool Software-ontwerp 2017-2018 Iteration 3 Contents 1 Introduction 2 2 General Information 2 2.1 Team Work............................... 2 2.2 Iterations................................

More information

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 1: Overview http://courses.cs.cornell.edu/cs2110 1 Course Staff Instructor Thorsten Joachims (tj@cs.cornell.edu)

More information

Distributed Systems Intro and Course Overview

Distributed Systems Intro and Course Overview Distributed Systems Intro and Course Overview COS 418: Distributed Systems Lecture 1 Wyatt Lloyd Distributed Systems, What? 1) Multiple computers 2) Connected by a network 3) Doing something together Distributed

More information

COMP-202A: Introduction to Computing 1

COMP-202A: Introduction to Computing 1 COMP-202A: Introduction to Computing 1 McGill University, Fall 2009 Course Details Instructor: Mathieu Petitpas (Course Coordinator) Office: McConnell Engineering Building (ENGMC) 104 Office hours: MW

More information

Blackboard Learn 9.1 Last updated: March 2010

Blackboard Learn 9.1 Last updated: March 2010 Blackboard Learn 9.1 Last updated: March 2010 2010 Blackboard Inc. All rights reserved. The content of this manual may not be reproduced or distributed without the express written consent of Blackboard

More information

Open eclass Asynchronous elearning Platform

Open eclass Asynchronous elearning Platform Open eclass Asynchronous elearning Platform Student Manual The Open eclass platform is a complete Course Management System. It is the solution offered by the Greek Academic Network GUnet to support Asynchronous

More information

EECE.2160: ECE Application Programming Spring 2019

EECE.2160: ECE Application Programming Spring 2019 Course Meetings Section 201: MWF 8-8:50, Kitson 305 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp19/ Schedule: http://mjgeiger.github.io/eece2160/sp19/schedule.htm

More information

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi CMPT 354 Database Systems I Spring 2012 Instructor: Hassan Khosravi Textbook First Course in Database Systems, 3 rd Edition. Jeffry Ullman and Jennifer Widom Other text books Ramakrishnan SILBERSCHATZ

More information

EDA Spring, Project Guidelines

EDA Spring, Project Guidelines Project Guidelines This document provides all information regarding the project rules, organization and deadlines. Hence, it is very important to read it carefully in order to know the rules and also to

More information

ICSI 516 Fall 2018 Project 1 Due October 26th at 11:59PM via Blackboard

ICSI 516 Fall 2018 Project 1 Due October 26th at 11:59PM via Blackboard ICSI 516 Fall 2018 Project 1 Due October 26th at 11:59PM via Blackboard Objectives: There are a number of objectives to this assignment. The first is to make sure you have some experience developing a

More information

You must define a class that represents songs. Your class will implement the Song interface in $master/proj2/cs61b/song.java.

You must define a class that represents songs. Your class will implement the Song interface in $master/proj2/cs61b/song.java. CS 61B Summer 2005 Project 2 (spec version 2.0) CD Database Due: July 22, 2005 5pm Overview This project will give you practice with Linked List data structures and sorting algorithms. You will be building

More information

[ 8 marks ] Demonstration of Programming Concepts

[ 8 marks ] Demonstration of Programming Concepts Assignment 9 Due: Mon, December 5 before 11:59 PM (no extensions, no grace days, late assignments receive 0) Final Project This is a self-directed assignment where you get to decide what your Processing

More information

Digital Storytelling with Photo Story 3

Digital Storytelling with Photo Story 3 Digital Storytelling with Photo Story 3 Before you begin, upload your digital images and save them into an easily identifiable folder in a convenient location on your hard drive eg. the my pictures directory.

More information

COMP-421: Database Systems. Joseph D silva McConnel Engg. 102

COMP-421: Database Systems. Joseph D silva McConnel Engg. 102 COMP-421: Database Systems Joseph D silva joseph.dsilva@mail.mcgill.ca McConnel Engg. 102 Class: Names and Numbers Mondays, Wednesdays 11:35-12:55 Lecturer: Joseph D silva joseph.dsilva@mail.mcgill.ca

More information

Catholic University of America. School of Library and Information Science Fall Semester 2012 COURSE DESCRIPTION. Randolph Hock, Ph.D.

Catholic University of America. School of Library and Information Science Fall Semester 2012 COURSE DESCRIPTION. Randolph Hock, Ph.D. Catholic University of America School of Library and Information Science Fall Semester 2012 Randolph Hock, Ph.D. 1070 Foxcroft Run Annapolis, MD 21401 Office number: 410-224-3739 Home number: 410-224-3739

More information

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%)

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%) Homework 1 1.264, Fall 2013 Software process Due Wednesday, September 11 1. Automated location data on public transit vehicles (35%) Your company just received a contract to develop an automated vehicle

More information

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium CSC 172 Data Structures and Algorithms Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium Agenda Administrative aspects Brief overview of the course Hello world in Java CSC 172, Fall 2017, UR

More information

CSE Network Management (3-0-3) Fall 2004 (Term 041) Course Projects

CSE Network Management (3-0-3) Fall 2004 (Term 041) Course Projects 1 Introduction King Fahd University of Petroleum & Minerals College of Computer Sciences and Engineering CSE 552 - Network Management (3-0-3) Fall 2004 (Term 041) Course Projects Tuesday, September 21,

More information

Outline EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE. HISTORY Methodology and learning design of the course Experience from classes

Outline EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE. HISTORY Methodology and learning design of the course Experience from classes EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia Outline HISTORY Methodology and learning design of the course Experience from classes Lectures exercises Questionnaire

More information

Buffer Manager: Project 1 Assignment

Buffer Manager: Project 1 Assignment Buffer Manager: Project 1 Assignment CMU Computer Science 415 Spring 2003 Database Applications January 27, 2003 Due: 8pm February 5, 2003 1 Administrivia You should work in groups of three for this assignment.

More information

BRIGHTSPACE (D2L) STUDENT GUIDE

BRIGHTSPACE (D2L) STUDENT GUIDE BRIGHTSPACE (D2L) STUDENT GUIDE Brightspace (Desire2Learn) is a way to deliver online courses as well as course components over the web at Atlanta Metropolitan State College. It provides students with

More information

CPS 214: Computer Networks. Slides by Adolfo Rodriguez

CPS 214: Computer Networks. Slides by Adolfo Rodriguez CPS 214: Computer Networks Slides by Adolfo Rodriguez Paper Evaluations 1 page maximum evaluation of reading for each class Evaluations submitted in advance of class from course Web page Describe: Biggest

More information

NILE Basics. Contents

NILE Basics. Contents Contents 1. What is NILE?... 2 1.1 What happens if there is a problem with NILE?... 2 1.2 Can I access NILE abroad?... 2 2. What is the NILE Template and how will it help me?... 2 2.1 The Left Hand Menu...

More information

Loyola Marymount University School of Education

Loyola Marymount University School of Education Loyola Marymount University School of Education The California Teaching Performance Assessment (CalTPA) Frequently Asked Questions The information presented in this guide is meant to serve as introductory

More information

Learning Outcomes: Upon the successful completion of this course, a student should be able to:

Learning Outcomes: Upon the successful completion of this course, a student should be able to: NORTHWEST VISTA COLLEGE Fall 2009 ARTV 1345: Modeling I - Introduction to MAYA - TR 7:00 8:45 PM- Lecture & Lab Lab Room: MLH 200 Instructor: Nathan Anderson Office phone: (415) 306-4371 Email: nathanande@gmail.com

More information

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

San 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 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 information

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus INST 327 - Database Design and Modeling - Section 0101 Spring 2017 - Tentative Syllabus Instructors: Office: Phone: E-mail: Office Hours: Vedat G. Diker (Dr. Diker) Hornbake 4111F (301) 405-9814 vdiker@umd.edu

More information