Homework 3 CSC , Spring, 2016

Size: px
Start display at page:

Download "Homework 3 CSC , Spring, 2016"

Transcription

1 Homework 3 CSC , Spring, 2016 Instructions in previous homeworks also apply to this one. For a coding question that requires coding your BBBK, you also need to be able to demonstrate, upon demand, your code in functioning state in class on or after the due date bring your BBBK and programming platform to class. For example, Q1 below asks you to make observations in your BBBK file system, and answer some questions, then write a program. The answers to the questions should go into the single PDF or text file you submit, together with answers to other questions. The code with build instructions should go into a zip file. Submit the PDF/text and zipfile(s) to the WolfWare locker, and bring the BBBK to class, ready to demonstrate. For all BBBK coding questions, you may use any language you use unless otherwise stated. If you include complete solutions to a question in three or more distinct languages, you get a brownie point for that question. Also note: Unless otherwise stated, any BBBK programming required should be done such that the code independently works on the BBBK, without requiring a browser to be running on a host computer. That is, you can leave the BBBK attached to the host computer, from which you access the BBBK using ssh or the Cloud9 web client to write and trigger the program, but you must trigger it at the BBBK through either of these two means, not from a script executing on a browser on the host computer. For Q4, if you submit an answer, you must also submit a video clip (or link to one) showing it in operation. 1. The USR0 LED by default blinks a heartbeat on the OS image the BBBK comes with that is actually a Linux timing signal. Instead, we want to convert it to a palpitation blink it on and off 10 times a second. A quick search on the BBBK reference sites and other sources turn up commands that should do it: echo 50 > /sys/class/leds/beaglebone:green:usr0/delay_on echo 50 > /sys/class/leds/beaglebone:green:usr0/delay_off (a) Attempt to execute these commands after booting the BBBK without any other intervening steps. What happens? Does the behavior of the LED change? You should get an error message of some sort such as -bash: /sys/class/leds/ beaglebone:green:usr0/delay_on: No such file or directory, since by default the trigger is set to heartbeat, and the delay parameters are only available when the trigger is set to timer (and since these are not really files, you cannot create them simply by writing to them). (b) With a little further research or even guesswork, you can turn up the step you have to take first in order to make the above work. What is it? Verify that once you do it (HINT: it involves setting the trigger for that LED to the appropriate value first), you can control the LED to behave as you want it to. It is to set the trigger to timer, as above; which can be done by echoing the string timer to /sys/class/leds/beaglebone:green:usr0/trigger. (c) In the above example, the LED is configured to turn on for 50 milliseconds and off for another 50 milliseconds, which should result in the LED make a complete blink cycle in 1/10 th of a second. With the aid of an independent timer (like a stopwatch), count the number of blinks you can count in a few seconds, then state whether the number of blinks per second does appear to be approximately 10, or distinctly different. Describe and provide detailed data on your experimental procedure not a simply yes or no.

2 You should provide some information (and preferably data) to show that you either tried it over a longer and longer period until the average stopped changing, or that you tried it many times, or both; any other reasonable methodology to reduce error and remove bias will also be acceptable, but simply I measured it once but I was very careful will not. (d) Write a standalone program that will let you investigate the effect of changing the proportion of on-time and off-time, while keeping the total 100 milliseconds. Describe whether you can visually tell the difference between any set of values. How different do the values have to be for you to be able to discern any visible difference? Depends on your visual acuity, persistence of vision, which are all individual and change with age. Personally I can tell when the on-time changes by as little as 10 ms, but only if I am looking at it while it changes. My ability to detect the change also seems to depend on whether the duty cycle is going up or down. Your answer should indicate that you followed a systematic procedure to find the threshold, and preferably detail the procedure enough so that another experimenter can precisely duplicate it. Extra credit if you realized the difference between looking at it during the changeover and only looking at it before and after the change, and devised some procedure to distinguish it without bias (for example, making your program change it randomly between two sets of values, and then comparing your perceived changes to ground truth). If your actual answer differs very much from the human norm in either direction, you will lose marks because the natural conclusion is that you made a mistake. (e) Extend the program so that it can also be used to investigate the effect of changing the total cycle time, keeping the on-time and off-time equal. Investigate cycle times lower than the 100 milliseconds you started with. Describe whether you can visually tell any difference. How different do the values have to be for you to be able to discern the difference? What value, if any, is the highest frequency at which you can still tell the blinks apart, or count them? Describe and provide detailed data on your experimental procedure. Again, a matter of individual variation; again, any procedure is fine as long as it is reasonable and described in sufficient detail, and any answer is fine as long as it is within normal human capabilities. 2. Develop a standalone program on your BeagleBone Black that, when run, expects a string of numbers to be specified on the command line, and then blinks the usercontrolled LEDs corresponding numbers of times, with short pauses between blinks and long pauses between sets of blinks representing successive numbers. (For example, if the executable is a.out, then executing a.out should result in three blinks separated by short pauses, then a long pause, five blinks, long pause, one blink.) Running the program without any command line arguments or with non-number command line arguments should cause it to print out a usage guide and exit. Your README file should specify what development environment you used, any assumptions or values you adopted (such as lengths of blinks or pauses), directions for compiling and using, and any other pertinent information.

3 3. Develop program(s) that allow you to send packets to servers running on specific hosts, then use them to transmit data as follows. There is one UDP server and one TCP server, both with the same application layer PDU standard, and you must successfully transmit a single application PDU to each of the two. In each case, the server is running on a host with IP address , and is reachable on port The application PDU is described below. In addition, the UDP server expects the entire application PDU to be embedded in a single UDP packet. (Note: The machine on which this server is running has most other network ports blocked by a firewall. Thus ping or other network probes cannot be expected to succeed. Your only way of verifying that the server is up is to send something to it, and received back the response as specified below.) The first four bytes of the application PDU must be the bytes representing the corresponding UNICODE or ANSI characters N, C, S and U. The next nine bytes must be similarly byte encodings of the characters in the string representation of your 9- digit student ID. (Note: They must be the character encodings rather than the actual number. For example, if your student ID is , then the first byte must not have the value 9, but rather the value 57, which is the ANSI encoding for 9.) (Note: These first two fields of the message appear to be like strings, but they are NOT null-terminated. If a null is inserted, it would be misinterpreted by the server as the first byte of the next field.) (Note: Unlike memory data structures or files, once you write a byte into a socket, you cannot go back and take it back or write over it, obviously.) The next four bytes should be your 9-digit student ID expressed as a 4-byte number. Depending on your programming platform of choice, this may be an int, a long, an unsigned long, or some similar data type. However, the server expects to receive the 4 bytes making up this number in the order of most significant byte first. (Note: This ordering of bytes is often called the network byte order, because this is the standard ordering for programs to exchange data. A standard is needed since different platforms vary in how they locally store multi-byte numbers. So called BIG_ENDIAN systems store numbers so that the MSB is in the lowest address, whereas systems that store the LSB in the lowest address space are called LITTLE_ENDIAN. Since transmission typically occurs from the lowest address up think of how strings are transmitted the network byte order corresponds to BIG_ENDIAN. Macros such as ntohs(), htons() etc. provide easy ways for the application programmer to always ensure network byte order without having to know the byte ordering of the platform that the code will be running on read the manual pages of these for details on how to use them.) (Note: sizeof() is a handy function to find out how many bytes make up a particular data type, such as int, on your local platform.) The rest of the application PDU must be a single null-terminated string, with the following information as string in the following format: <Your name>\n<your 9- digit student ID>\n<The dotted decimal representation of the IP address you are sending from>\n<the port number you are sending from>\ncsc \n<Current date and time on your system in mm/dd/yyyy hh:mm format>\n. (The \n indicates the UNIX newline character.) When the server prints it out, it should look like the following: Rudra Dutta

4 CSC /7/ :43 It is also acceptable to have the date format 02/07/2015. (Note: The null termination at the end of this string is the only way the server knows that the APDU is concluded. If you send data to the server that does not so terminate, you can hang the server, or at least the thread servicing you. Please aim to avoid this.) Neither the UDP nor the TCP server will accept an application PDU of more than 1000 bytes from the socket, so your program should ensure this is what the server receives. In each case, the server will send back a string Server received and archived <X> bytes of transmitted data, which your program should receive from the socket, where X is the number of bytes the server read in total. If you receive any other string, or receive nothing, then your transmission did not succeed, and you should re-try, after checking your program for errors. Since servers as well as server programs can have temporary problems, or there may be network problems, a failure does not necessarily indicate a problem in your program. 4. (Extra credit) You may be familiar with air-text a set of LEDs that blink in such a pattern such that when they are pulled through the air, they seem to leave text behind them floating in the air due to persistence of vision. Since there are four user LEDs on the BBBK, it might be possible to use it for air text, though with only four dots in the vertical direction it may not look very good. Develop a standalone program on your BBBK that, when run, expects a string to be specified on the command line, and then blinks the LEDs to produce this string in air-text. It is acceptable to convert all letters to capital case. To enable the user to time the back-and-forth motion, also allow the user to specify as the first argument, in milliseconds, the time that the user wants to perform each of those half-motions. Your program should first produce some countdown blinks to enable the user to start shaking. Then it should alternate showing the air-text for the given number of milliseconds, and keeping all the LEDs dark for the given number of milliseconds, in an infinite loop until interrupted. (For example, if the executable is a.out, then executing a.out 500 bingo should result, after the countdown blinks, the letters in the string bingo (separated by some space) displayed one after the other, completed in half a second, followed by half a second of darkness, and keep alternating. You have to first on a 4xN dot-matrix display of the characters of the alphabet (and the numbers and punctuation, if you want to support those, too). You may adopt one from elsewhere, or make one yourself. In your answer, specify whether you made your own, or cite the source that you adopted them from. N may have any value, and larger N is one way of increasing the resolution of the display. For example, possible 4x5 and 4x7 dot matrix displays of the letter A are shown below. Obviously, making N larger is also a lot more work in designing and implementing the dot matrix.

5 (Note: Since this is a challenge question, you can attempt only part of it if it makes this more tractable to you. For example, you can make it work only for a subset of characters, say only the numerals. Or you can show the airtext one character at a time.)

Homework 3 CSC/ECE , Fall, 2016

Homework 3 CSC/ECE , Fall, 2016 Homework 3 CSC/ECE 573-001, Fall, 2016 Every question requires response in one or more of the following ways. If the question, in part or whole, requires textual response, include your response to it in

More information

Reliable File Transfer

Reliable File Transfer Due date Wednesday, Mar 14, 11:59pm Reliable File Transfer CS 5565 Spring 2012, Project 2 This project is worth 100 points. You may form teams of up to two students for this project. You are not required

More information

CS164 Final Exam Winter 2013

CS164 Final Exam Winter 2013 CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New 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 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

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

(Refer Slide Time: 00:30)

(Refer Slide Time: 00:30) Information Security Sri Vasan V S Principal Consultant Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 25 Linux File Comparison So in this module we will be

More information

Assignment 3, Due October 4

Assignment 3, Due October 4 Assignment 3, Due October 4 1 Summary This assignment gives you practice with writing shell scripts. Shell scripting is also known as bash programming. Your shell is bash, and when you write a shell script

More information

ACT-R 6.0 AGI Manual Working Draft. Dan Bothell

ACT-R 6.0 AGI Manual Working Draft. Dan Bothell ACT-R 6.0 AGI Manual Working Draft Dan Bothell Table of Contents Table of Contents...2 Introduction...3 Background...4 A Device...4 The UWI...5 The AGI...6 Typical Experiment Design...7 Window Control

More information

UNIVERSITY OF MALTA THE MATRICULATION EXAMINATION ADVANCED LEVEL. COMPUTING May 2016 EXAMINERS REPORT

UNIVERSITY OF MALTA THE MATRICULATION EXAMINATION ADVANCED LEVEL. COMPUTING May 2016 EXAMINERS REPORT UNIVERSITY OF MALTA THE MATRICULATION EXAMINATION ADVANCED LEVEL COMPUTING May 2016 EXAMINERS REPORT MATRICULATION AND SECONDARY EDUCATION CERTIFICATE EXAMINATIONS BOARD Computing Advanced Level May 2016

More information

Computer Networks CS3516 B Term, 2013

Computer Networks CS3516 B Term, 2013 Computer Networks CS3516 B Term, 2013 Project 1 Project Assigned: October 31 Checkpoint: November 07 12:01 AM Due: November 14 12:01 AM Networks - Project 1 1 What You Will Do In This Project. The purpose

More information

LESSON 4. The DATA TYPE char

LESSON 4. The DATA TYPE char LESSON 4 This lesson introduces some of the basic ideas involved in character processing. The lesson discusses how characters are stored and manipulated by the C language, how characters can be treated

More information

Project #2: FishNet Distance Vector Routing

Project #2: FishNet Distance Vector Routing Project #2: FishNet Distance Vector Routing Assignment documentation version: 1.0 Due Nov 18 th, 2009 This informational handout covers introductory material describing the Fishnet software that you use,

More information

Hello, World! in C. Johann Myrkraverk Oskarsson October 23, The Quintessential Example Program 1. I Printing Text 2. II The Main Function 3

Hello, World! in C. Johann Myrkraverk Oskarsson October 23, The Quintessential Example Program 1. I Printing Text 2. II The Main Function 3 Hello, World! in C Johann Myrkraverk Oskarsson October 23, 2018 Contents 1 The Quintessential Example Program 1 I Printing Text 2 II The Main Function 3 III The Header Files 4 IV Compiling and Running

More information

Guide to your Plug Computer

Guide to your Plug Computer This document lives here: http://inst.eecs.berkeley.edu/~ee122/fa11/project3/guide-to-plug.pdf Guide to your Plug Computer UC Berkeley, EE 122, Fall 2011 Version 1 This document is a step-by-step guide

More information

ECE5650: Computer Networking and Programming Term Project Assignment Part II: Total 100 points

ECE5650: Computer Networking and Programming Term Project Assignment Part II: Total 100 points ECE5650: Computer Networking and Programming Term Project Assignment Part II: Total 100 points The objective of this term project is to develop deep understanding of key concepts and fundamental principles

More information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

More information

set active-probe (PfR)

set active-probe (PfR) set active-probe (PfR) set active-probe (PfR) To configure a Performance Routing (PfR) active probe with a forced target assignment within a PfR map, use the set active-probe command in PfR map configuration

More information

CS103 Spring 2018 Mathematical Vocabulary

CS103 Spring 2018 Mathematical Vocabulary CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming

More information

Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002.

Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002. Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002. In this assignment, you will work in teams of one to four (try to form you own group; if you can t find one, you can either work alone,

More information

Reliable Data Transmission

Reliable Data Transmission Reliable Data Transmission CS5516: Project 1 Spring 2003 Deadline: Midnight March 13 th, 2003 Score: 100 points Introduction Reliable data transmission protocols form the basis of data communication. The

More information

Programming Assignment #4 Writing a simple parallel port device driver

Programming Assignment #4 Writing a simple parallel port device driver Programming Assignment #4 Writing a simple parallel port device driver Value: (See the Grading section of the Syllabus.) Due Date and Time: (See the Course Calendar.) Summary: This is your second exercise

More information

(Refer Slide Time: 00:23)

(Refer Slide Time: 00:23) In this session, we will learn about one more fundamental data type in C. So, far we have seen ints and floats. Ints are supposed to represent integers and floats are supposed to represent real numbers.

More information

ECE264 Fall 2013 Exam 3, November 20, 2013

ECE264 Fall 2013 Exam 3, November 20, 2013 ECE264 Fall 2013 Exam 3, November 20, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.

More information

Section 1 Short Answer Questions

Section 1 Short Answer Questions CPSC 3600 section 002 HW #1 Fall 2017 Last revision: 9/7/2017 You must work on this homework individually!! Submission: You are to submit your written answers to turnitin. Also, you are to submit your

More information

CIS 121 Data Structures and Algorithms with Java Spring 2018

CIS 121 Data Structures and Algorithms with Java Spring 2018 CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 6 Compression Due: Monday, March 12, 11:59pm online 2 Required Problems (45 points), Qualitative Questions (10 points), and Style and

More information

,879 B FAT #1 FAT #2 root directory data. Figure 1: Disk layout for a 1.44 Mb DOS diskette. B is the boot sector.

,879 B FAT #1 FAT #2 root directory data. Figure 1: Disk layout for a 1.44 Mb DOS diskette. B is the boot sector. Homework 11 Spring 2012 File Systems: Part 2 MAT 4970 April 18, 2012 Background To complete this assignment, you need to know how directories and files are stored on a 1.44 Mb diskette, formatted for DOS/Windows.

More information

COMS 6100 Class Notes 3

COMS 6100 Class Notes 3 COMS 6100 Class Notes 3 Daniel Solus September 1, 2016 1 General Remarks The class was split into two main sections. We finished our introduction to Linux commands by reviewing Linux commands I and II

More information

Figure 1: Graphical representation of a client-server application

Figure 1: Graphical representation of a client-server application CS/EE 145a : Networking Lab #1 http://www.its.caltech.edu/ eecs145/ Due: October 24, 2007 1 Introduction The development of network-based software has been around for many years. Since its conception,

More information

6.033 Computer System Engineering

6.033 Computer System Engineering MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. M.I.T. DEPARTMENT

More information

CS12020 (Computer Graphics, Vision and Games) Worksheet 1

CS12020 (Computer Graphics, Vision and Games) Worksheet 1 CS12020 (Computer Graphics, Vision and Games) Worksheet 1 Jim Finnis (jcf1@aber.ac.uk) 1 Getting to know your shield First, book out your shield. This might take a little time, so be patient. Make sure

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #03 The Programming Cycle

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #03 The Programming Cycle Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #03 The Programming Cycle (Refer Slide Time: 00:22) Once we are understood what algorithms are, we will start

More information

Introduction to computer networking

Introduction to computer networking Introduction to computer networking First part of the assignment Academic year 2017-2018 Abstract In this assignment, students will have to implement a client-server application using Java Sockets. The

More information

Bits, Words, and Integers

Bits, Words, and Integers Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are

More information

QUIZ. What is wrong with this code that uses default arguments?

QUIZ. What is wrong with this code that uses default arguments? QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code

More information

Direct DataSafe for Dazzle Pawn SETUP and USE of program

Direct DataSafe for Dazzle Pawn SETUP and USE of program Direct DataSafe for Dazzle Pawn SETUP and USE of program Direct DataSafe for Dazzle Pawn (DDS for short) is designed specifically for reporting data from your Dazzle Pawn database and sending it automatically

More information

EL2310 Scientific Programming

EL2310 Scientific Programming (yaseminb@kth.se) Overview Overview Roots of C Getting started with C Closer look at Hello World Programming Environment Discussion Basic Datatypes and printf Schedule Introduction to C - main part of

More information

CPSC 424/624 Exam 1 Solutions Spring 2016

CPSC 424/624 Exam 1 Solutions Spring 2016 CPSC 424/624 Exam 1 Solutions Spring 2016 Name: You can use a single 8.5 by 11.0 sheet of paper (front and back) for notes. You can use a calculator. Please do not share your notes sheet or your calculator.

More information

Computer Networks. Project 2. Project Assigned: November 14 Checkpoint: November 21 12:01 AM Due: December 04 12:01 AM. Networks - Project 2 1

Computer Networks. Project 2. Project Assigned: November 14 Checkpoint: November 21 12:01 AM Due: December 04 12:01 AM. Networks - Project 2 1 Computer Networks Project 2 Project Assigned: November 14 Checkpoint: November 21 12:01 AM Due: December 04 12:01 AM Networks - Project 2 1 Overview In this programming assignment, you will be writing

More information

A Brief Introduction to the Linux Shell for Data Science

A Brief Introduction to the Linux Shell for Data Science A Brief Introduction to the Linux Shell for Data Science Aris Anagnostopoulos 1 Introduction Here we will see a brief introduction of the Linux command line or shell as it is called. Linux is a Unix-like

More information

Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016

Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016 CS168 Computer Networks Fonseca Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016 Contents 1 Introduction 2 2 Protocol 2 2.1 Client to Server Commands................................ 2 2.2 Server to Client

More information

Universidad Carlos III de Madrid Computer Science and Engineering Department Operating Systems Course

Universidad Carlos III de Madrid Computer Science and Engineering Department Operating Systems Course Exercise 1 (20 points). Autotest. Answer the quiz questions in the following table. Write the correct answer with its corresponding letter. For each 3 wrong answer, one correct answer will be subtracted

More information

EE 109 Unit 2. Binary Representation Systems

EE 109 Unit 2. Binary Representation Systems EE 09 Unit 2 Binary Representation Systems ANALOG VS. DIGITAL 2 3 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based

More information

15-323/ Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019

15-323/ Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019 15-323/15-623 Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019 1 Overview In this project, you will create a program that performs real-time audio generation. There

More information

Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC

Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC Paper BB-206 Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC ABSTRACT Every SAS programmer knows that

More information

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are important requirements for developing programs that

More information

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: C and Unix Overview

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: C and Unix Overview Computer Science 322 Operating Systems Mount Holyoke College Spring 2010 Topic Notes: C and Unix Overview This course is about operating systems, but since most of our upcoming programming is in C on a

More information

Project 2: Shell with History1

Project 2: Shell with History1 Project 2: Shell with History1 See course webpage for due date. Submit deliverables to CourSys: https://courses.cs.sfu.ca/ Late penalty is 10% per calendar day (each 0 to 24 hour period past due). Maximum

More information

MRO Management 6.0 Users Manual by Scanlon Associates

MRO Management 6.0 Users Manual by Scanlon Associates MRO Management 6.0 Users Manual by Scanlon Associates Version 6.0.70725 I 6.0.70725 Table of Contents Part I Main Screen 2 1 Work Area... 2 2 Browse Work... File 2 3 Toolbar... 2 4 Result Data Tab... 3

More information

COMS3200/7201 Computer Networks 1 (Version 1.0)

COMS3200/7201 Computer Networks 1 (Version 1.0) COMS3200/7201 Computer Networks 1 (Version 1.0) Assignment 3 Due 8pm Monday 29 th May 2017. V1 draft (hopefully final) Note that the assignment has three parts Part A, B & C, each worth 50 marks. Total

More information

Assignment 2. Summary. Some Important bash Instructions. CSci132 Practical UNIX and Programming Assignment 2, Fall Prof.

Assignment 2. Summary. Some Important bash Instructions. CSci132 Practical UNIX and Programming Assignment 2, Fall Prof. Assignment 2 Summary The purpose of this assignment is to give you some practice in bash scripting. When you write a bash script, you are really writing a program in the bash programming language. In class

More information

CSE434 Computer Networks (FALL, 2009) Programming Assignment 3 Due: Wed, December 2, 2009

CSE434 Computer Networks (FALL, 2009) Programming Assignment 3 Due: Wed, December 2, 2009 CSE434 Computer Networks (FALL, 2009) Programming Assignment 3 Due: Wed, December 2, 2009 Submission Procedure: No late submissions will be accepted. Submit a softcopy before the class to su.kim.asu@gmail.com.

More information

Principles of Algorithm Design

Principles of Algorithm Design Principles of Algorithm Design When you are trying to design an algorithm or a data structure, it s often hard to see how to accomplish the task. The following techniques can often be useful: 1. Experiment

More information

A Client-Server Exchange

A Client-Server Exchange Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends

More information

Network Administration/System Administration (NTU CSIE, Spring 2018) Homework #1. Homework #1

Network Administration/System Administration (NTU CSIE, Spring 2018) Homework #1. Homework #1 Submission Homework #1 Due Time: 2018/3/11 (Sun.) 22:00 Contact TAs: vegetable@csie.ntu.edu.tw Compress all your files into a file named HW1_[studentID].zip (e.g. HW1_bxx902xxx.zip), which contains two

More information

Lab 4: Interrupts and Realtime

Lab 4: Interrupts and Realtime Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver

More information

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng Slide Set 2 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2018 ENCM 335 Fall 2018 Slide Set 2 slide

More information

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is

More information

Number Systems CHAPTER Positional Number Systems

Number Systems CHAPTER Positional Number Systems CHAPTER 2 Number Systems Inside computers, information is encoded as patterns of bits because it is easy to construct electronic circuits that exhibit the two alternative states, 0 and 1. The meaning of

More information

EDITING AN EXISTING REPORT

EDITING AN EXISTING REPORT Report Writing in NMU Cognos Administrative Reporting 1 This guide assumes that you have had basic report writing training for Cognos. It is simple guide for the new upgrade. Basic usage of report running

More information

(Refer Slide Time: 1:26)

(Refer Slide Time: 1:26) Information Security-3 Prof. V Kamakoti Department of Computer science and Engineering Indian Institute of Technology Madras Basics of Unix and Network Administration Operating Systems Introduction Mod01,

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc. Objectives CPS221 Lecture: Layered Network Architecture last revised 6/22/10 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

System Error Code 1 Means Incorrect Function.

System Error Code 1 Means Incorrect Function. System Error Code 1 Means Incorrect Function. Try checking Event Viewer & Temp Folders log for the error i.e. Exit Code 1 for your deployment as it seems with #EC: macro to excempt this success return

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers

More information

Output with printf Input. from a file from a command arguments from the command read

Output with printf Input. from a file from a command arguments from the command read More Scripting 1 Output with printf Input from a file from a command arguments from the command read 2 A script can test whether or not standard input is a terminal [ -t 0 ] What about standard output,

More information

CS155: Computer Security Spring Project #1

CS155: Computer Security Spring Project #1 CS155: Computer Security Spring 2018 Project #1 Due: Part 1: Thursday, April 12-11:59pm, Parts 2 and 3: Thursday, April 19-11:59pm. The goal of this assignment is to gain hands-on experience finding vulnerabilities

More information

Variables and Data Representation

Variables and Data Representation You will recall that a computer program is a set of instructions that tell a computer how to transform a given set of input into a specific output. Any program, procedural, event driven or object oriented

More information

HOMEWORK 7. M. Neumann. Due: THU 8 MAR PM. Getting Started SUBMISSION INSTRUCTIONS

HOMEWORK 7. M. Neumann. Due: THU 8 MAR PM. Getting Started SUBMISSION INSTRUCTIONS CSE427S HOMEWORK 7 M. Neumann Due: THU 8 MAR 2018 1PM Getting Started Update your SVN repository. When needed, you will find additional materials for homework x in the folder hwx. So, for the current assignment

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #47. File Handling

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #47. File Handling Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #47 File Handling In this video, we will look at a few basic things about file handling in C. This is a vast

More information

CSCI 355 Lab #2 Spring 2007

CSCI 355 Lab #2 Spring 2007 CSCI 355 Lab #2 Spring 2007 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications

More information

CPS221 Lecture: Layered Network Architecture

CPS221 Lecture: Layered Network Architecture CPS221 Lecture: Layered Network Architecture Objectives last revised 9/8/14 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

CS 642 Homework #4. Due Date: 11:59 p.m. on Tuesday, May 1, Warning!

CS 642 Homework #4. Due Date: 11:59 p.m. on Tuesday, May 1, Warning! CS 642 Homework #4 Due Date: 11:59 p.m. on Tuesday, May 1, 2007 Warning! In this assignment, you will construct and launch attacks against a vulnerable computer on the CS network. The network administrators

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

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists

CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists Due on Tuesday February 24, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI

More information

LINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science

LINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science A Seminar report On LINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science SUBMITTED TO: www.studymafia.org SUBMITTED

More information

MIB BROADCAST STREAM SPECIFICATION

MIB BROADCAST STREAM SPECIFICATION MIB BROADCAST STREAM SPECIFICATION November 5, 2002, Version 1.0 This document contains a specification for the MIB broadcast stream. It will be specified in a language independent manner. It is intended

More information

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2016 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 Question 1 Why does it not make sense to use TCP (Transmission Control Protocol) for the Network Time Protocol (NTP)?

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

Operating Systems (234123) Spring (Homework 3 Wet) Homework 3 Wet

Operating Systems (234123) Spring (Homework 3 Wet) Homework 3 Wet Due date: Monday, 4/06/2012 12:30 noon Teaching assistants in charge: Operating Systems (234123) Spring-2012 Homework 3 Wet Anastasia Braginsky All emails regarding this assignment should be sent only

More information

Compiling C/C++ programs

Compiling C/C++ programs Name: Student ID: Lab Instructor: Borja Sotomayor Do not write in this area 1 2 3 TOTAL Maximum possible points: 20 + 2 NOTE: The lab session will take place in the Linux machines of the Maclab. This lab

More information

All textures produced with Texture Maker. Not Applicable. Beginner.

All textures produced with Texture Maker. Not Applicable. Beginner. Tutorial for Texture Maker 2.8 or above. Note:- Texture Maker is a texture creation tool by Tobias Reichert. For further product information please visit the official site at http://www.texturemaker.com

More information

Computer Networks Prof. Ashok K. Agrawala

Computer Networks Prof. Ashok K. Agrawala CMSC417 Computer Networks Prof. Ashok K. Agrawala 2018Ashok Agrawala September 6, 2018 Fall 2018 Sept 6, 2018 1 Overview Client-server paradigm End systems Clients and servers Sockets Socket abstraction

More information

ENGR 40M Project 3c: Switch debouncing

ENGR 40M Project 3c: Switch debouncing ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the

More information

Functions. Using Bloodshed Dev-C++ Heejin Park. Hanyang University

Functions. Using Bloodshed Dev-C++ Heejin Park. Hanyang University Functions Using Bloodshed Dev-C++ Heejin Park Hanyang University 2 Introduction Reviewing Functions ANSI C Function Prototyping Recursion Compiling Programs with Two or More Source Code Files Finding Addresses:

More information

Choice 1: audio, a simple audio client server system

Choice 1: audio, a simple audio client server system Choice 1: audio, a simple audio client server system The objective of this practice is to complete the program audiosimple which we have presented in practice 0. The new program, called audio, allows the

More information

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017 Section 1: Multiple choice (select any that apply) - 20 points 01. Representing 10 using the 4 byte unsigned integer encoding and using 4 byte two s complements encoding yields the same bit pattern. (a)

More information

Configuring Virtual Servers

Configuring Virtual Servers 3 CHAPTER This section provides an overview of server load balancing and procedures for configuring virtual servers for load balancing on an ACE appliance. Note When you use the ACE CLI to configure named

More information

ASSIGNMENT 1 First Java Assignment

ASSIGNMENT 1 First Java Assignment ASSIGNMENT 1 First Java Assignment COMP-202B, Winter 2012, All Sections Due: Sunday January 29th, 2012 (23:30) Please read the entire pdf before starting. You must do this assignment individually and,

More information

COMS W1007 Homework 4

COMS W1007 Homework 4 COMS W1007 Homework 4 Submission instructions All programs must compile and run on CUNIX to receive credit. Submit your electronic files via http://courseworks.columbia.edu. Post your archived submission

More information

Data Types. Data Types. Integer Types. Signed Integers

Data Types. Data Types. Integer Types. Signed Integers Data Types Data Types Dr. TGI Fernando 1 2 The fundamental building blocks of any programming language. What is a data type? A data type is a set of values and a set of operations define on these values.

More information

Programming Assignment #4 Writing a simple parallel port device driver

Programming Assignment #4 Writing a simple parallel port device driver Programming Assignment #4 Writing a simple parallel port device driver Value: (See the Grading section of the Syllabus.) Due Date and Time: (See the Course Calendar.) Summary: This programming exercise

More information

last time in cs recitations. computer commands. today s topics.

last time in cs recitations. computer commands. today s topics. last time in cs1007... recitations. course objectives policies academic integrity resources WEB PAGE: http://www.columbia.edu/ cs1007 NOTE CHANGES IN ASSESSMENT 5 EXTRA CREDIT POINTS ADDED sign up for

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

To become familiar with array manipulation, searching, and sorting.

To become familiar with array manipulation, searching, and sorting. ELECTRICAL AND COMPUTER ENGINEERING 06-88-211: COMPUTER AIDED ANALYSIS LABORATORY EXPERIMENT #2: INTRODUCTION TO ARRAYS SID: OBJECTIVE: SECTIONS: Total Mark (out of 20): To become familiar with array manipulation,

More information

LAB A Translating Data to Binary

LAB A Translating Data to Binary LAB A Translating Data to Binary Create a directory for this lab and perform in it the following groups of tasks: LabA1.java 1. Write the Java app LabA1 that takes an int via a command-line argument args[0]

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we

More information

Data Reduction Helpdesk First Responder Guidelines

Data Reduction Helpdesk First Responder Guidelines Data Reduction Helpdesk First Responder Guidelines Kathleen Labrie Science Users Support Department V1.1 12 March 2018 Revision History V1.0 16 January 2018 Kathleen Labrie V1.1 12 March 2018 Kathleen

More information