High-Level Design Specification for the Callimuse System
|
|
- Alban Harrington
- 5 years ago
- Views:
Transcription
1 High-Level Design Specification for the Callimuse System CSC354 Introduction to Software Engineering, Dr. Dale Parson, Fall This assignment is due by end of October 24, Introduction by the Instructor (Customer) There will be an in-class review within teams on Tuesday October 22 like before. Attendance is mandatory and counts for 15% of the project grade. Bring your draft document for peer review that day. Here are instructions for turning it in. cd $HOME cp ~parson/softeng/design13fall.zip SoftEng cd./softeng unzip design13fall.zip cd design13fall The Word file DesignSpec354Fall2013.doc is in there (this file). Copy that file onto your local machine and edit it. I MUST be able to open it with MS Word and view all text and illustrations for evaluation. I plan to integrate the high-level design specs into one Word document. If you edit it in Open Office or some other program, open it in Word on a KU computer before turning it in, to make sure I can read it. I will deduct 15% from any document turned in that I cannot open with Word. When you are done editing that file, copy it back into that same directory, cd into that directory and type gmake turnitin. That will send it to my account on acad. I have written a minimal system that actually runs and displays one test stroke. It mostly illustrates the skeletal structure of the Graphics Server. The MIDI Generator is very similar in overall multithreaded-server structure to the Graphics Server. The OSC/UDP application protocol includes lossless compression to cut down on the number of UDP datagrams per stroke, but it is missing fields and requires segmentation -> reassembly enhancements in order to work with normal, full-size strokes. There is generated Javadoc documentation for my working skeletal example here. The com.illposed.osc pages give the JavaOsc documentation, and the kucmuse and kutil pages give the Callimuse and related utility documentation. A requirement on your implementation code is the creation of Javadoc comments for all public and protected methods and fields that generates Javadoc HTML without warnings.
2 You can inspect my code on acad/bill at ~parson/softeng/parsonswe/trunk in the kucmuse and kutil subdirectories. You will be building atop that code base after approval of your design specifications. I have requested that KU IT add access for you to the Subversion code repository management database that we will use to manage code, and to the Bugzilla bug reporting system. We should have that access in time for the implementation process. We have gone over UML modeling tools and approaches in class. Use the textbook author s sketch approach, that I call a map of the design, in this assignment. Every student must capture at least one UML design diagram and turn it in with the descriptive text in this assignment. Turn in your assignments individually and I will integrate them as I grade them. Make sure that your subsections complement each other, and that they do not duplicate each other. There are more detailed instructions for each section below. Follow my writing guidelines. We already have a top-level deployment diagram on page 1 of the Functional Specification. Do not re-capture that diagram. The current, high-level design spec should show the insides of those boxes in the Functional Spec. See for the requirements specification. The present, functional specification is not comprehensive. It builds on, constrains, and resolves issues left open by the requirements spec. Partition each of the sections below into subsections, one per team member. 2. Vendor System Demo Design (COTS Team) By the end of the semester I would like a demonstration of the Nightshade system for scripting planetarium shows. Nightshade is available here. I am specifically interested in Nightshade NG PR2 Released including scripting. You will not be designing the Nightshade system. You will be designing a demo. Learn as much as possible about the Nightshade system and specify what you plan to demonstrate for this assignment. Include design illustrations for your plan. 3. Mobile User Interface Design (Mobile Client Team) My only small prototype code for this team is a demonstration of how to send an OSC/UDP broadcast message via our initial (to-be-extended) Callimuse protocol. See the main method test driver in the bottom of file kucmuse/callimuseframe.java. My Functional Spec gives the
3 anticipated fields for the protocol, which is outline in // implementation comments in method OSCInterpreter.run in file CallimuseFrame.java. See additional comments in the next section. 209 // HERE IS THE OSC/UDP DATAGRAM PROTOCOL THAT I AM USING. 210 // STUDENTS MUST FULLY DEFINED AND EXTEND IT: 211 // [0] String Sender's IP address for identification 212 // [1] Integer Sender's port identifier 213 // [2] Integer sequence number for fully assembled message 214 // [3] Integer subsequence number to steer reassembly 215 // [4] Integer total number of subsequences 216 // [5] Object [] of radii Float objects 217 // [6] Object [] of theta Float objects Use whatever UML diagramming techniques are useful. Use class diagrams. Use at least one of sequence diagrams, activity diagrams or state diagrams to show the flow of control or the changes of states or both. Class diagrams show structure. These other diagram types show highlevel behavior. Model the essential aspects of our app s interaction with Android libraries. You can show whatever Android classes are appropriate as simple class boxes; you do not need to show internal structure of Android libraries. 4. OSC/UDP Application Protocol and support (Networking Team) Your jobs are to design the full application protocol, to document some existing classes from my initial prototype, to show how you will extend that prototype to include segmentation and reassembly in order to accommodate the 1500-byte limit on a UDP datagram. Your classes from my Javadoc and code base include kutil.runnableosclistener, kutil.compressintegerfloatarrays and kucuse.callimuseoscserver. Write class diagrams that show their relationships. You can model any class or interface in JavaOsc (com.illposed.osc) as a simple box with no internal structure. For your classes, however, show all helper classes including private nested classes for the existing software. The previous section of this spec shows the draft, 7-field OSC application protocol of the initial code. You will need to extend it to support at least the fields in the Functional Spec, including array fields radius[] between 0.0 (center) and 1.0 (edge of dome), angle theta[] in the range [0.0, 2pi) radians, and virtual pressure[] for each centroid pixel. The scalar fields of the Functional Spec include color, brush stroke, momentum and spin. You do not need to use UML to illustrate the application protocols. Use Word tables like this.
4 Table I: Unsegmented OSC/UDP format that uses address pattern "/callimuse/stroke" 1 Sender IP [0] String Sender port [1] Integer 4000 Sender sequence [2] Integer 0 Sender subsequence Number of subsequences [3] Integer 0 [4] Integer 6 Radii [5] Object [] of Float Theta [6] Object [] of Float Here is another for the actual, compressed format that my initial code uses. It does not yet do segmentation and reassembly. Table II: Compressed OSC/UDP format that uses address pattern "/callimuse/stroke/reassemble" Sender IP [0] String Sender port [1] Integer 4000 Sender sequence [2] Integer 0 Sender subsequence Number of subsequences [3] Integer 0 [4] Integer 6 Radii [5] Integer [] of compressed Float Theta [6] Integer [] of compressed Float 1 See the initial stroke pattarns in the Javadoc for the strokepattern constants in class CallimuseFrame.
5 You need to extend these protocols in collaboration with the Mobile-client-UI, Graphics Server and MIDI Translator teams. You need to synchronize with the latter team and the MIDI Generator team to define their protocols. Your main implementation job is to design and later to implement segmentation and reassembly methods. Segmentation turns one OSC/UDP unsegmented message into a series of segmented messages that divide compressed arrays evenly across some number of OSC/UDP messages with no more than 1500 bytes. Allow no more than 250 total Integer [] elements per segmented message. Reassembly of unsegmented messages is probably the hardest part. We will go over a draft design that should be feasible in class. For now you need to document the design of the planned segmentation and reassembly methods in a class in package kutil. Use class diagrams. Use at least one of sequence diagrams, activity diagrams or state diagrams to show the flow of control or the changes of states or both. Class diagrams show structure. These other diagram types show high-level behavior. 4. Graphics Server Design Your interfaces and classes from my Javadoc and code base include kutil.dependentframe, kutil.startframe, kutil.polarcartesiandevice, kucmuse.callimuseframe and kucmuse.ideogram. You can model any class or interface outside of your assignment as a simple box with no internal structure. For your classes, however, show all helper classes including private nested classes for the existing software. Your main jobs are to add color, stroke styles, motion, generation of outbound OSC/UDP broadcast messages to be used by the MIDI generator, and ideogram recognition. I will help with ideogram recognition as needed. Do not delay graphical display waiting for ideogram recognition. We can run that in another thread. We have a 16-threaded Linux server with a high-powered GPU card called dumbledore in the Old Main lab. We can use that for testing, in addition to laptop(s) that members of the graphics team provide. I may have a laptop for you to use. The outgoing OSC/UDP protocol outline in the Functional Spec mentions OSC fields location, momentum, spin, disappearing / evaporating, color, brush stroke styling, and ideograms data coming from the graphics engine. Work with the MIDI team and the networking team You will probably need to incorporate a javax.swing.timer into your design to drive evolution of the graphics on the state of the dome in between arrival of OSC/UDP messages from the mobile UIs. Use class diagrams. Use at least one of sequence diagrams, activity diagrams or state diagrams to show the flow of control or the changes of states or both, for example the advance in state as driven by the timer, and the generation of outgoing OSC/UDP. Class diagrams show structure. These other diagram types show high-level behavior.
6 5. MIDI Generator Design I do not have starting code for the MIDI generator. My advice is to copy class kucmuse.callimuseframe into a new class kucmuse.midigenerator and use that as an example of how to set up your OSC listener thread. The OSC processing part of your class should map directly. You should implement a minimal GUI that has at least one graphical control, which is a combo box to select the MIDI device for output. Here are the top two graphical controls from the Scrabble-to-MIDI control GUI. Your code should run only in Synthesizer mode. Sequencer mode that creates and records and runs static MIDI sequences is not appropriate for this application, so you don t need that first combo box. If you use a foot controller to control some aspects of MIDI translation, then you will need a second combo box to select the input MIDI device. In directory parson/javalang/gamestomidi2013rev1/scrabble are the following files. ScrabbleToMultiMidiConfigUI.java is the MIDI generator UI class. It is too complicated to use as an example of the overall design, but it may supply some useful example code snippets. File ScrabbleToMultiMidi.java is the MIDI Translator for Scrabble. Again it is too complicated, but it may provide useful code snippets. The Javadoc for Scrabble-to-MIDI at the following URL is too big for use as a design example, but if you go inspecting the above two classes, some of that Javadoc may be useful. Some of the scheduling logic in helper class SynthRunnable inside that file may be useful; I will summarize state machine issues below. Basically, the MIDI Translator is a collection of state machines. A. There is one state machine that takes incoming OSC/UDP messages, maps them to musical phrases, and puts them into some kind of phrase queue. B. Another state machine takes the MIDI phrases out of the queue, according to time, and delivers them to a MIDI port. Note that you write notes to a javax.sound.midi. javax.sound.midi.receiver. This state machine should also write copies of repeating phrases (if any) back into the phrase queue. C. If you decide to support effects modulation from a foot controller or other MIDI controller device, javax.sound.midi.transmitter actually receives the incoming messages,
7 which you read via a custom application subclass derived from interface Receiver. The Transmitter sends MIDI messages to your Receiver. I recommend skipping (C) until you get (A) and (B) working. You can run (A) on the OSC/UDP acceptmessage thread (unless the mapping is so time consuming that your code starts dropping datagrams, in which case I will help you set up another thread to run the OSC-to-MIDI mapper), and you can run (B) in the GUI thread under the control of a javax.swing.timer object. I have never timed the output this way, but it seems like a simple enough approach. You could use a java.util.concurrent.priorityblockingqueue with note time as the priority function. Notes or phrases with earlier times come out first. Any thread enqueuing or dequeuing a note or phrase could peek() for the next time and then set a Swing Timer to go off at the time of the next note or phrase, and then write MIDI output. Probably the simplest way to integrate (C) into this design is to write a MIDI-to-OSC message translator that runs on its own thread and sends OSCMessages to the acceptmessage method already running in (A). That way all incoming rata arrives as OSC messages. I can help to write this MIDI-control-to-OSC translator. Do not worry about implementing sound spatialization too much just yet. However, we are only writing a spec at this time, not code, so you should address spatial sound at a very high level in this spec. In addition to a class diagram, each of the above state machines needs a simple, state machine diagram. A simple dataflow diagram can show the flow of data though your nodes in the deployment diagram and within Ableton Live. An outline of how you plan to route MIDI channels through Ableton Live would also be useful. That would be a dataflow diagram. Feel free to show an illustration of the Live work surface if useful.
High-Level Design Specification for the Callimuse System
High-Level Design Specification for the Callimuse System CSC354 Introduction to Software Engineering, Dr. Dale Parson, Fall 2013. This spec is the October 27 consolidated version. 1. Introduction by the
More informationCSC 220 Object Oriented Multimedia Programming, Fall 2018
CSC 220 Object Oriented Multimedia Programming, Fall 2018 Dr. Dale E. Parson, Assignment 3, text menu on a remote-control Android, mostly array handling. This assignment is due via D2L Assignment Assignment
More informationHere are the steps to get the files for this project after logging in on acad/bill.
CSC 243, Java Programming, Spring 2013, Dr. Dale Parson Assignment 5, handling events in a working GUI ASSIGNMENT due by 11:59 PM on Thursday May 9 via gmake turnitin Here are the steps to get the files
More informationTextbook Charles Petzold, Programming Windows, 5th edition, Microsoft Press. References - other textbooks or materials none
CS351 Systems Programming Last Updated - 03/01/02 Course Manager Dr. Phil Dickens, Assistant Professor 3 credit hours; required for CS & CPE; 100 min. lecture & 100 min. lab each week Current Catalog Description
More informationHere are the steps to get the files for this project after logging in on acad/bill.
CSC 243, Java Programming, Spring 2013, Dr. Dale Parson Assignment 3, cloning & serializing game state for save & restore commands ASSIGNMENT due by 11:59 PM on Thursday April 11 via gmake turnitin Here
More informationCSC 543 Multiprocessing & Concurrent Programming, Fall 2016
CSC 543 Multiprocessing & Concurrent Programming, Fall 2016 Dr. Dale E. Parson, Midterm Exam Project, Assorted Thread Synchronization Problems This assignment is due by 11:59 PM on Wednesday November 2
More informationHere are the steps to get the files for this project after logging in on acad/bill.
CSC 243, Java Programming, Spring 2014, Dr. Dale Parson Assignment 4, implementing undo, redo & initial GUI layout ASSIGNMENT due by 11:59 PM on Saturday April 19 via gmake turnitin ASSIGNMENT 5 (see page
More informationAssignment 2, perquack2 class hierarchy in Java, due 11:59 PM, Sunday March 16, 2014 Login into your account on acad/bill and do the following steps:
CSC 243 Java Programming, Spring 2014, Dr. Dale E. Parson Assignment 2, perquack2 class hierarchy in Java, due 11:59 PM, Sunday March 16, 2014 Login into your account on acad/bill and do the following
More informationCSC 510 Advanced Operating Systems, Fall 2017
CSC 510 Advanced Operating Systems, Fall 2017 Dr. Dale E. Parson, Assignment 4, Benchmarking and analyzing a modified Assignment 1 running on System VMs on Type 1 and Type 2 hypervisors. This assignment
More informationOSC. Simplification. Asset Store Description 2 Underlying Concepts 3 Getting started 4
OSC Simplification Manual Version 1.2 Asset Store Description 2 Underlying Concepts 3 Getting started 4 How to receive without scripting 4 How to send almost without scripting 5 How to receive using scripting
More informationCSC 552 UNIX System Programming, Fall 2015
CSC 552 UNIX System Programming, Fall 2015 Dr. Dale E. Parson, Assignment 4, multi-threading a socket-based server loop & helper functions. This assignment is due via make turnitin from the wordcathreadc4/
More informationAMath 483/583 Lecture 2
AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial
More informationAMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:
AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial
More informationCSC 343 Operating Systems, Fall 2015
CSC 343 Operating Systems, Fall 2015 Dr. Dale E. Parson, Assignment 4, analyzing swapping algorithm variations. This assignment is due via gmake turnitin from the swapping2015 directory by 11:59 PM on
More informationCSE398: Network Systems Design
CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline
More informationBig Java Late Objects
Big Java Late Objects Horstmann, Cay S. ISBN-13: 9781118087886 Table of Contents 1. Introduction 1.1 Computer Programs 1.2 The Anatomy of a Computer 1.3 The Java Programming Language 1.4 Becoming Familiar
More informationCambrian College Online Course Review Checklist
Course Code: Instructor: Reviewed By: Cambrian College Online Course Review Checklist Course Name: Date Reviewed: Instructions: The criteria in the Checklist reflect design principles required for all
More informationCMSC 417 Project Implementation of ATM Network Layer and Reliable ATM Adaptation Layer
CMSC 417 Project Implementation of ATM Network Layer and Reliable ATM Adaptation Layer 1. Introduction In this project you are required to implement an Asynchronous Transfer Mode (ATM) network layer and
More informationOSC. Notes on OSC. Figure 1 Some examples of OSC devices.
OSC Overview Open Sound Control is a protocol for sending control messages across networks. It was developed by Adrian Freed and Matt Wright (working with David Wessel) at CNMAT in Berkeley in 1996 as
More informationAnnouncements. 1. Forms to return today after class:
Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.
More informationCSC 120 Introduction to Creative Graphical Coding, Fall 2015
CSC 120 Introduction to Creative Graphical Coding, Fall 2015 Dr. Dale E. Parson, Assignment 1, Implementing and testing an automated avatar in Processing. This assignment is due via D2L Dropbox Assignment
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 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 informationPrerequisit. cies. Consortium. on Creating. interviews. In research, the. Standards. A. Software Program(s) 3. Web
Web Design Tools (ITSE 1301) Credit: 3 semester credit hours (2 hours lecture, 2 hours lab) Prerequisit te/co-requisite: Course Description Designing and publishing Web documents according to World Wide
More informationImplement an ADT while using Subversion
1 Objectives Learn to use Subversion Implement an ADT while using Subversion In this lab, you learn about the version control tool called Subversion and you will implement a Java class given an interface.
More informationIntroduction to Computation and Problem Solving
Class 1: Introduction Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward Handouts for Today Course syllabus Academic Honesty Guidelines Laptop request form
More informationCSC 343 Operating Systems, Fall 2015
CSC 343 Operating Systems, Fall 2015 Dr. Dale E. Parson, Assignment 2, modeling an atomic spin lock, a mutex, and a condition variable. This assignment is due via gmake turnitin from the criticalsection2015
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationProgramming Assignment 2
CS 122 Fall, 2004 Programming Assignment 2 New Mexico Tech Department of Computer Science Programming Assignment 2 CS122 Algorithms and Data Structures Due 11:00AM, Wednesday, October 13th, 2004 Objectives:
More informationCOS 333: Advanced Programming Techniques. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
COS 333: Advanced Programming Techniques Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly)
More informationNotes Discussed project needs and possible tool use Everything needs to be documented very well for future use Stretch goal discussed
Team meeting 1 - Creation of Team VERITAS Meeting time - 3:30-4:30 9/5/2017 Discussed project Created team contract, can be found with each member and on team wiki Decided on specific jobs and which person
More informationCSC 310 Programming Languages, Spring 2014, Dr. Dale E. Parson
CSC 310 Programming Languages, Spring 2014, Dr. Dale E. Parson Assignment 3, Perquacky in Python, due 11:59 PM, Saturday April 12, 2014 I will turn the solution back on Monday April 14, after which I will
More informationDigital Media II. EXAM INFORMATION Items. Points. Prerequisites. Grade Level. Course Length. Career Cluster. Performance Standards
EXAM INFORMATION Items 42 Points 57 Prerequisites DIGITAL MEDIA I Grade Level 10-12 Course Length ONE YEAR Career Cluster ARTS, A/V TECHNOLOGY, AND COMMUNICATION INFORMATION TECHNOLOGY Performance Standards
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationCOURSE SYLLABUS FOR. COMP-297 Web Page Design: Adobe Dreamweaver
Coffeyville Community College COURSE SYLLABUS FOR COMP-297 Web Page Design: Adobe Dreamweaver Mrs. Darla Thornburg Spring 2018 Page 1 of 8 COURSE NUMBER: COURSE TITLE: CREDIT HOURS: INSTRUCTOR: OFFICE
More informationConfiguring Windows 8 Course 20687A - Five days - Instructor-led - Hands-on
Configuring Windows 8 Course 20687A - Five days - Instructor-led - Hands-on Introduction This course provides students hands-on experience with Windows 8. It provides guidance on installing, upgrading,
More informationFall Principles of Knowledge Discovery in Databases. University of Alberta
Principles of Knowledge Discovery in Databases Fall 1999 Dr. Osmar R. Zaïane 2 1 Class and Office Hours Class: Mondays, Wednesdays and Fridays from 10:00 to 10:50 Office Hours: Tuesdays from 11:00 to 11:55
More informationESET 349 Microcontroller Architecture, Fall 2018
ESET 349 Microcontroller Architecture, Fall 2018 Syllabus Contact Information: Professor: Dr. Byul Hur Office: 008 Fermier Telephone: (979) 845-5195 FAX: E-mail: byulmail@tamu.edu Web: rftestgroup.tamu.edu
More informationCOURSE SYLLABUS. Complete JAVA. Industrial Training (3 MONTHS) PH : , Vazhoor Road Changanacherry-01.
COURSE SYLLABUS Complete JAVA Industrial Training (3 MONTHS) PH : 0481 2411122, 09495112288 E-Mail : info@faithinfosys.com www.faithinfosys.com Marette Tower Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01
More informationAssignment 1: Plz Tell Me My Password
Assignment 1: Plz Tell Me My Password Part I Due: 11:59 pm, September 23, 2013 Part II Due : 11:59 pm, September 27, 2013 1 Introduction The objective of this assignment is to gain experience in: socket
More informationECE 4110 Internetwork Programming Lab 3: UDP Traffic Generator. Lab Goals. Section I: Coding udp_gen & udp_sink
ECE 4110 Internetwork Programming Lab 3: UDP Traffic Generator Group Number: Member Names: Date Issued: Tuesday February 7, 2012 Date Due: Friday February 17, 2012 Last Edited: 2/6/2012 Lab Goals Finish
More informationPlanning and Administering SharePoint 2016
Planning and Administering SharePoint 2016 Course 20339A 5 Days Instructor-led, Hands on Course Information This five-day course will combine the Planning and Administering SharePoint 2016 class with the
More information3. When you process a largest recent earthquake query, you should print out:
CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #1 Due Wednesday, September 18 @ 11:00 PM for 100 points Due Tuesday, September 17 @ 11:00 PM for 10 point bonus Updated: 9/11/2013 Assignment: This is the first
More informationWeb Design Capstone :: Syllabus
Web Design Capstone :: Syllabus Course: MMC 6936 Semester: Summer 2014 Meeting Times: Saturdays, 10 a.m.-1 p.m. EST Professor: Dr. Amy Zerba Contact: azerba@jou.ufl.edu and 646-404-7867 Office Hours: Available
More informationHandout 4: Version Control Reference
CSCI 2600 Principles of Software Handout 4: Version Control Reference Introduction SVN (Subversion) provides the following functionality: It allows multiple users to edit the same files independently,
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationSan José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)
San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) Course and Contact Information Instructor: Office Location: Vidya Rangasayee MH229
More informationLab - TCP Traffic Generator
ECE4110 Fall Semester, 2010 Lab - TCP Traffic Generator Assigned: Sep 10, 2010 Due: Sep 20, 2010 Group Number: Member Names: Lab Goals 1. Finish a TCP sockets programs to transmit and receive TCP data.
More informationUndergraduate Course Syllabus
College of Software Engineering Undergraduate Course Syllabus Course ID 311016040 Course Name Introduction to Computer System Course Attribute Compulsory Selective Course Language English Chinese Credit
More informationCode Check TM Software Requirements Specification
Code Check TM Software Requirements Specification Author: Richard McKenna Debugging Enterprises TM Based on IEEE Std 830 TM -1998 (R2009) document format Copyright 2017 Debugging Enterprises No part of
More informationNew York University Computer Science Department Courant Institute of Mathematical Sciences
New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:
More informationSyllabus CSCI 405 Operating Systems Fall 2018
Syllabus CSCI 405 Operating Systems Fall 2018 1.0 General Information Class Time: Monday/Wednesday/Friday 11:00 AM - 11:50 AM Class Location: 317 Thompson Instructor: Dr. Deepti Joshi; Office: 224 Thompson;
More informationCSC 120 Introduction to Creative Graphical Coding, Fall 2017
CSC 120 Introduction to Creative Graphical Coding, Fall 2017 Dr. Dale E. Parson, Assignment 1, Implementing and testing an automated avatar in Processing. This assignment is due via D2L Assignments Assignment
More informationRT Digital Media Extended Lab Choose One: Work Alone Work in a Pair Extra Work Required 3 or More Students May Collaborate, but Submissions must be Un
ECEN 5033 RT Digital Media Systems Lecture 10 Extended Lab Background March 31, 2008 Sam Siewert RT Digital Media Extended Lab Choose One: Work Alone Work in a Pair Extra Work Required 3 or More Students
More informationSummary of Student Projects from CSC 580, Multiprocessor Programming in Java
Summary of Student Projects from CSC 580, Multiprocessor Programming in Java Dale E. Parson, http://faculty.kutztown.edu/parson, January 2012, course was held spring 2011 This course in Multiprocessor
More informationIntroduction to scripting with Gig Performer Draft V0.51. Dr. David H Jameson Nebojsa Djogo. Deskew Technologies, LLC May 4, 2018
Introduction to scripting with Gig Performer Draft V0.51 Dr. David H Jameson Nebojsa Djogo Deskew Technologies, LLC May 4, 2018 Introduction The Gig Performer scripting language, which we have rather unimaginatively
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationCMSC 201 Fall 2016 Homework 6 Functions
CMSC 201 Fall 2016 Homework 6 Functions Assignment: Homework 6 Functions Due Date: Wednesday, October 26th, 2016 by 8:59:59 PM Value: 40 points Collaboration: For Homework 6, collaboration is not allowed
More informationCS-537: Midterm Exam (Fall 2013) Professor McFlub
CS-537: Midterm Exam (Fall 2013) Professor McFlub Please Read All Questions Carefully! There are fourteen (14) total numbered pages. Please put your NAME (mandatory) on THIS page, and this page only. Name:
More informationProject #1: Tracing, System Calls, and Processes
Project #1: Tracing, System Calls, and Processes Objectives In this project, you will learn about system calls, process control and several different techniques for tracing and instrumenting process behaviors.
More informationCOURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.
COURSE SYLLABUS ANDROID Industrial Training (4 MONTHS) PH : 0481 2411122, 09495112288 E-Mail : info@faithinfosys.com www.faithinfosys.com Marette Tower Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01
More informationCourse Outline. Microsoft SharePoint Server 2013 for the Site Owner/Power User Course 55035: 2 days Instructor-Led
Microsoft SharePoint Server 2013 for the Site Owner/Power User Course 55035: 2 days Instructor-Led Introduction This two day class is designed for information workers or power users who serve as SharePoint
More informationECE 4110 Internetwork Programming Lab 2: TCP Traffic Generator. Lab Goals. Prelab
ECE 4110 Internetwork Programming Lab 2: TCP Traffic Generator Group Number: Member Names: Date Issued: Tuesday January 22, 2013 Date Due: Wednesday, January 30, 2013 Last Edited: 1/21/2013 Lab Goals Finish
More informationINFS 2150 (Section A) Fall 2018
INFS 2150 (Section A) Fall 2018 Introduction to Web Development Class meets TUE & THU: 12:30am-1:45pm: in Wheatley 114 Instructor: Peter Y. Wu Office: Wheatley 309 Office Hours: Tuesday 9:00 am-12:00 noon;
More informationSan Jose State University - Department of Computer Science
San Jose State University - Department of Computer Science CS 151, Section 4 - Object-Oriented Design Instructor:Cay S. Horstmann Email: cay.horstmann@sjsu.edu Telephone: +1-408-924-5060 Office Hours:
More informationDescriptions for CIS Classes (Fall 2017)
Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer
More informationOracle Field Sales/Laptop
Oracle Field Sales/Laptop Implementation Guide Release 11i June 2001 Part No. A87538-02 This Implementation Guide provides information and instructions to help you implement Oracle Field Sales/Laptop,
More informationAssignment 6: Ray Tracing
Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.
More informationThe Bliss GUI Framework. Installation Guide. Matías Guijarro
The Bliss GUI Framework Installation Guide Author Date Matías Guijarro 08/09/05 Index 1. Installing the Framework... 3 1.1 Deploying the packages... 3 1.2 Testing the installation... 4 2.Setting up the
More informationIntellicus Getting Started
Intellicus Getting Started Intellicus Web-based Reporting Suite Version 4.5 Enterprise Professional Smart Developer Smart Viewer Intellicus Technologies info@intellicus.com www.intellicus.com Copyright
More informationBlackboard Frequently Asked Questions: Student Issues
Blackboard Frequently Asked Questions: Student Issues Course Issues Why am I not seeing a course I just registered for in CUNYfirst, in Blackboard? It takes 24-48 hours from the time you registrar or change
More informationHomeschool Programming, Inc.
Online Course Overview Course Title: TeenCoder: Java Programming TeenCoder: Java Programming Online Course Syllabus and Planner Updated November, 2015 Online ISBN: 978-0-9887070-2-3, published 2015 by
More informationMassachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Fall Semester, Introduction to EECS 2
Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Fall Semester, 2006 6.082 Introduction to EECS 2 Lab #9: Link-state Routing Goal: Using a network simulator written
More informationTCP/IP Packet Identifier
Software Requirement Specification Requested by: Mr. Ken Swarner Systems Administrator Computer Science Department of Siena College TCP/IP Packet Identifier EdgeTech Development Always on the cutting edge
More informationCSC 112 Lab 1: Introduction to Unix and C++ Fall 2009
CSC 112 Lab 1: Introduction to Unix and C++ Fall 2009 Due: Friday, September 4 th, 9:00am Introduction The operating system of a computer is the coordinator of all of the computer s activities, including
More informationInformation Technology Web Solution Services
Information Technology Web Solution Services Icetech, Inc. HUBZONE (410) 225-3117 (410) 225-3120 Fax webmaster@icetech.net http://www.icetech.net Contents EXECUTIVE SUMMARY... 2 OUR SERVICES INCLUDE:...
More informationEE 422C HW 6 Multithreaded Programming
EE 422C HW 6 Multithreaded Programming 100 Points Due: Monday 4/16/18 at 11:59pm Problem A certain theater plays one show each night. The theater has multiple box office outlets to sell tickets, and the
More informationCSCI 200 Lab 11 A Heap-Based Priority Queue
CSCI 200 Lab 11 A Heap-Based Priority Queue Preliminaries Part of today s lab will focus on implementing a heap-based priority queue using an ArrayListlike class called ZHExtensibleArrayStructure. Recall
More informationPlanning and Administering SharePoint 2016
Planning and Administering SharePoint 2016 20339-1; 5 Days; Instructor-led Course Description This five-day course will provide you with the knowledge and skills to plan and administer a Microsoft SharePoint
More informationOpenScape Contact Center Multimedia. First Contact Resolution in a Multi-Channel World <insert date here>
OpenScape Contact Center Multimedia First Contact Resolution in a Multi-Channel World Agenda OpenScape Contact Center Agile vs. Enterprise What is OpenScape Contact Center Multimedia
More informationCSC 2405: Computer Systems II
CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems
More informationCSE 333 Lecture 1 - Systems programming
CSE 333 Lecture 1 - Systems programming Hal Perkins Department of Computer Science & Engineering University of Washington Welcome! Today s goals: - introductions - big picture - course syllabus - setting
More informationProject 2 Reliable Transport
Project 2 Reliable Transport UC Berkeley CS 168, Fall 2014 Version 1.0 Due: 11:59am (noon), November 2nd, 2014 In this project, you will build a simple reliable transport protocol, BEARS TP (BTP). Your
More informationCSE 489/589 Recitation TCP Socket & Synchronous I/O Multiplexing
Recitation TCP Socket & Synchronous I/O Multiplexing Wenjun Jiang Computer Sciences and Engineering University at Buffalo Information Instructor: Dr. Lu Su Office: 321 Davis Hall Email: lusu [at] buffalo.edu
More informationCPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation
CPSC 150 Laboratory Manual A Practical Approach to Java, jedit & WebCAT Department of Physics, Computer Science & Engineering Christopher Newport University Lab 1 Introduction to Program Creation Welcome
More informationNetworking Applications
Networking Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab Academy for Science & Technology and Maritime Transport Multimedia Multimedia 1 Outline Audio and Video Services
More informationCS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus
CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues
More informationUsing Midi with 7Pad. 7Pad Midi IN and Out with USB cable. Tutorial Topics
Using Midi with 7Pad Tutorial Topics Using Midi with 7Pad...1 7Pad Midi IN and Out with USB cable...1 Midi Input with USB :...3 Midi clock input and Ableton Link...4 7Pad output midi channels :...5 7PadMidi
More informationSoftware Engineering for Mechatronics Applications
Software Engineering for Mechatronics Applications 2017W1-MECH550C 2017W1-MECH575A Instructor Professor Arda Erol Email : ardaerol@mail.ubc.ca Classroom : ICICS X051 (both lecture and labs) Time : Tuesdays
More informationCourse 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User
Skip to main content Course 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User - Course details Course Outline Module 1: The Role of the Site Owner This module provides an introduction
More informationInteractive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica
Interactive XML Visualization - using XSLT 2.0 on the Browser Phil Fearon - Saxonica Big XML Theme Big data Large scale searching Processing large volumes at high speed Crunching big XML files Open Linked
More informationSyllabus Class schedule Section 1: Tuesdays 9:00 11:50 Section 2: Tuesdays 1:00 3:50
GBDA 228 Digital Imaging of Online Applications Winter Term 2018 University of Waterloo, Stratford Campus Global Business and Digital Arts Syllabus Class schedule Section 1: Tuesdays 9:00 11:50 Section
More informationIntroduction to Programming System Design CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
More information"Charting the Course... MOC /2: Planning, Administering & Advanced Technologies of SharePoint Course Summary
Description Course Summary This five-day course will provide you with the knowledge and skills to plan and administer a Microsoft environment. The course teaches you how to deploy, administer, and troubleshoot
More informationAnalysis Tool Project
Tool Overview The tool we chose to analyze was the Java static analysis tool FindBugs (http://findbugs.sourceforge.net/). FindBugs is A framework for writing static analyses Developed at the University
More information2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,
2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, Windows Server, and other product names are or may be registered
More information(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.
Location MWF 1205-1255 Klaus 1443 Class Objective Purpose: CS2340 takes students who know an object-oriented language, and focuses on getting them to use that language in a true object-oriented style.
More informationNetworked Access to Library Resources
Institute of Museum and Library Services National Leadership Grant Realizing the Vision of Networked Access to Library Resources An Applied Research and Demonstration Project to Establish and Operate a
More informationCOS 333: Advanced Programming Techniques
COS 333: Advanced Programming Techniques Robert M. Dondero, Ph.D. Princeton University Please pick up handouts at the back of the room 1 COS 333: Course Overview Copyright 2018 by Robert M. Dondero, Ph.D.
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
More information