A1- Overview of Previous Project

Size: px
Start display at page:

Download "A1- Overview of Previous Project"

Transcription

1 Appendix to the Project Solar Flare: Solar Plant Data Acquisition & Visualization Samuel Caguana Instructor: Dr. Janusz Zalewski CEN 4935 Senior Software Engineering Project Florida Gulf Coast University April 25, 2014 A1- Overview of Previous Project The project taken over is the SolarFlare application maintenance as well as updating several features in the solar.fgcu.edu website. The architecture of the previous project is not changed, as shown in Figure A1. Figure A1: System Architecture The SolarFlare application is located on the Rock server and as of reception of the project, was not operational. The application should run on the server and continuously collect data from solarems.net as shown in Figure A2. Page 1

2 Figure A2: SolarFlare Flowchart. [1] The user shall start the application on the server and it shall automatically connect to solarems.net. The website shall then check the application credentials; the application shall then parse the html data and update the database hosted on the database location on the server. The solar.fgcu.edu website hosts all the data gathered by the SolarFlare application for it to be public. Solar.fgcu.edu connects to the database located on the Rock server, gathers the data, generates JSON files and from those files, generates the charts that are displayed on the website. This process is shown in Figure A3. Page 2

3 Figure A3: solar.fgcu.edu Flowchart. [1] The original application has been developed fully, as described above, but several issues are preventing it from running. SolarFlare could not successfully access the solarems.net website to collect data due to not having correct certificates for solarems.net. Another issue was some of the data collected were not correct. Several values such as the Ambient Temperature and the Energy Total were not read correctly as it was in the solarems.net website. Additionally, the solar.fgcu.edu website had an issue where it would take a several minutes to load the graph pages. The website page would be blocked while it refreshed and loaded the data to be displayed. Page 3

4 A2- New Objectives This maintenance of the SolarFlare application and the solar.fgcu.edu website has to include the repair of the connection between SolarFlare and solarems.net, correct the data acquisition of the invalid values from solarems.net as well as increase efficiency of solar.fgcu.edu. New features shall be attempted to be added to the current project during the maintenance without hindering the quality and functionality of the current state of the project. New objectives include making SolarFlare operational and maintaining it functional, adding and fixing linked content on solar.fgcu.edu and also making the website more efficient. The SolarFlare application shall be running continuously on the server as it was originally intended to. Several links to new publications about the FGCU s solar field need to be added as well as a feature to allow users who have accounts on solarems.net to be able to login via solar.fgcu.edu. More user control over displayed data shall be a new feature added to the website. This feature shall also improve on the efficiency of the website, as shown in Figure A4, by making it load faster due to information pulling from the database being at a minimum. Figure A4: Website- solar.fgcu.edu Page 4

5 A3- Implementation The SolarFlare applications class diagram is shown in Figure A5. This shows the connection of each class and the operation, as a whole, of the application. The application is a web crawler, HTML parser as well as a database manager. As shown in the figure below, the HTMLNavigator class is the web crawler section of the application. This section is responsible for connecting to solarems.net, navigating the site and retrieving data. The HTMLParser class is in charge of parsing through the data retrieved and converting it to text. The DBManager class is in charge of taking the text parsed and updating the database with the relevant information. Figure A5: SolarFlare Class Diagram. [1] In maintaining the SolarFlare application, the issues discovered were that the application did not connect to solarems.net and some of the data being gathered were not correct. The solarems website login screen is shown in Figure A6. Page 5

6 Figure A6: Website- solarems.net The application was giving the errors that it could not access solarems.net. These errors were due to SolarFlare not having the correct secure sockets layer (SSL) certificates for the website. The correct certificates were retrieved by an open source project InstallCert [2] developed by Sun Microsystems and the application could successfully access solarems.net. InstallCert is an open source java project to retrieve SSL certificates securely from a website an application accesses and stores them locally in the Java JDK security folders for the application to access when running. The InstallCert.java program is shown in Section A7. Page 6

7 Figure A7: Incorrect Data Gathered Figure A7 shows the issue of incorrect data being gathered. The Ambient column shows the ambient temperature of the area around the solar panels in degrees Celsius, but as shown, these temperatures are reaching 600 degrees Celsius, which is highly incorrect data. Also, the AC Energy column values were also off compared to the represented values in solarems.net. These issues were caused by parsing errors in the SolarFlare application code. The code section where the errors were created is shown in Figure A8. Page 7

8 public Double getvalue(string attributename) { Scanner byname = scan.usedelimiter("name\">"); int counter = 0; while (byname.hasnext()) { String currentline = byname.next(); if (currentline.contains(attributename)) { Scanner byvalues = new Scanner(currentLine); byvalues = byvalues.usedelimiter("value\">"); byvalues.next(); if (byvalues.hasnext()) { String valuestring = byvalues.next(); char[] c = valuestring.tochararray(); String strval = ""; for (int i = 0; i < c.length; i++) { if (c[i] == '0' c[i] == '1' c[i] == '2' c[i] == '3' c[i] == '4' c[i] == '5' c[i] == '6' c[i] == '7' c[i] == '8' c[i] == '9' c[i] == '.' c[i] == ',' c[i] == '-') { if (c[i] == ',') { continue; strval = strval + c[i]; else { break; try { double value = Double.parseDouble(strVal); return value; catch (Exception e) { return null; Figure A8: Parsing Error The line of code if (currentline.contains(attributename)).. parses the first line it comes across where it finds the attribute name it is searching. The issue with this is solarems.net has repeating attributes contained in other strings as shown in Figures A9 and A10. In Figure A9, the attribute AC Energy Total is being searched, but the SolarFlare application will stop at the first red outlined attribute and obtain the 5,661,057.0 when in actuality the data is Page 8

9 from the Aggregate AC Energy Total. The correct AC Energy Total is the second red outlined attribute in Figure A9. Figure A9: AC Energy Total Data Acquisition In Figure A10, the Ambient Temperature attribute is being searched by the SolarFlare application. Instead of the application returning 21.13, it will return 0 due to the parsing stopping at the first red outlined line and returning 0 because it does not retrieve any data. Page 9

10 Figure A10: Ambient Temperature Data Acquisition These issues of the incorrect data being retrieved were corrected by applying the section of code right after the if (currentline.contains(attributename)).. line. This is shown in Figure A10 where after reaching the first line, SolarFlare will skip it and return the data for the actual attribute being retrieved. The correct results being stored in the database are shown in Figure A11. if(currentline.contains("ambient Temperature")){ currentline = byname.next(); if(currentline.contains("ac Energy Total") && counter == 0){ counter++; continue; Figure A11: Error Correction Code Several links to news publications were fixed in the toolbar on solar.fgcu.edu. Also, the feature of a user accessing and logging into solarems.net was added by adding a link to the website as shown on the top bar in Figure A3. Another issue that was resolved was that the loading times of pages with graphs were reduced. Previously these pages took several minutes to load. This was due to the website accessing and loading all the data points currently on the database. This was resolved by limiting Page 10

11 the query that resulted in loading selected data points. This allowed the website to retrieve that limited data points faster and more efficiently without causing the user to wait for the page to load. Figure A12 shows the PHP function that requests data from the database. It is passed attributes that are the selected date ranges of which records and how many records to retrieve. This makes the pages with the graphs load faster than it previously was due to these limiting factors of limiting the date range and the amount of records for displaying onto the graphs. Figure A12: Access Database Function In continuation of making the website more efficient, it was decided to let the user have more control over data displayed to them. Figure A11 shows the added section that provides the user with control over data. They are given the option of selection a certain time, day, month and year to monitor. They input the selected date and time and also select how many records from the inputted date to display. There is a section beside the input boxes that shows the guidelines for inputting the date the user would like to see displayed. Another option, also shown at the bottom of Figure A13, is the option for the user to select predetermined data ranges from the specific date the user entered. They have the option to load twelve hours of data, twenty four hours, one week, one month or six months worth of Page 11

12 records by selecting the corresponding option. The user also has the option to load all the records that are currently in the database to display on the graphs. Figure A13: User Data Selection The code for the user input section is shown in Section A8. After the submit button has been selected, this JavaScript function fetches the data from the textboxes inserted from the user and checks whether they are null or not. If one textbox is left blank, the site shall revert back to the first data point held on the database and display data using that starting point. The site shall load the graphs starting at the user specified start date if the user entered the correct data inputs. Page 12

13 A4- Testing As shown in Figure A14, the SolarFlare application is continuously running on the server, as of now, and updating the database stored on the server with correct results. A user can access solar.fgcu.edu from any browser in any location. Figure A14: Corrected Database Results Further results of testing resulted in correct results from the user data selection section of the website as shown in Figure A14. The user could enter a date to access and data records would be displayed on the charts. This testing is shown in Figure A15. The user enters the time, day, month, year and the total number of records to display from the entered start date and the graphs shall be accordingly updated. The testing example shows the input of July 25, 2011 at 5:30 pm and shows 3,000 records after this date. Page 13

14 Figure A15: User Data Selection Testing Further testing was implemented to test functionality for the user to select specific days and time to appear on the hash tables. The test cases included in this project are described below. Page 14

15 Test Case No 1. Objective: Successfully entry of Hour. Test Description: A correct input of Hour should lead to successful query of data. Inputs: Values from range of 0 to 23. Expected Results: Graphs should load with specified Hour and other related inputs. Result: Passed Test Case No 2. Objective: Successfully entry of Minute. Test Description: A correct input of Minute should lead to successful query of data. Inputs: Value 00, 15, 30 or 45. Expected Results: Graphs should load with specified Minute and other related inputs. Result: Passed Test Case No 3. Objective: Successfully entry of Day. Test Description: A correct input of Day should lead to successful query of data. Inputs: Integer value of a day in month. Expected Results: Graphs should load with specified Day and other related inputs. Result: Passed Page 15

16 Test Case No 4. Objective: Successfully entry of Month. Test Description: A correct input of Month should lead to successful query of data. Inputs: Values in range of 1 to 12 Expected Results: Graphs should load with specified Month and other related inputs. Result: Passed Test Case No 5. Objective: Successfully entry of Year. Test Description: A correct input of Year should lead to successful query of data. Inputs: Values in range of 2010 to current year. Expected Results: Graphs should load with specified Year and other related inputs. Result: Passed Test Case No 6. Objective: Successfully entry of Records to Display. Test Description: Correct input of Records to Display should lead to successful query of data. Inputs: Positive values Expected Results: Graphs should load with specified Records and other related inputs. Result: Passed Page 16

17 For the test cases where the user enters the values correctly, the graphs will show the data the user requested as shown in Figure A15. Test Case No 7. Objective: Unsuccessful entry of Hour, shown in Figure A16. Test Description: An incorrect input of Hour should lead to error message display Inputs: Values from outside the range of 0 to 23. Expected Results: Error message displays and revert back to default settings. Result: Passed Figure A16: Unsuccessful Hour Entry Page 17

18 Test Case No 8. Objective: Unsuccessful entry of Minute, shown in Figure A17. Test Description: An incorrect input of Minute should lead to error message display Inputs: Values not 00, 15, 30 or 45. Expected Results: Error message displays and revert back to default settings. Result: Passed Figure A17: Unsuccessful Minute Entry Page 18

19 Test Case No 9. Objective: Unsuccessful entry of Day, shown in Figure A18. Test Description: An incorrect input of Day should lead to error message display Inputs: Integer value of a day in month. Expected Results: Error message displays and revert back to default settings. Result: Failed: Value check for date range of each month and user s entry not implemented. Figure A18: Unsuccessful Day Entry Page 19

20 Test Case No 10. Objective: Unsuccessful entry of Month, shown in Figure A19. Test Description: An incorrect input of Month should lead to error message display Inputs: Values outside range of 1 to 12 Expected Results: Error message displays and revert back to default settings. Result: Passed Figure A19: Unsuccessful Month Entry Page 20

21 Test Case No 11. Objective: Unsuccessful entry of Year, shown in Figure A20. Test Description: An incorrect input of Year should lead to error message display Inputs: Values outside range of 2010 to current year. Expected Results: Error message displays and revert back to default settings. Result: Passed Figure A20: Unsuccessful Year Entry Page 21

22 Test Case No 12. Objective: Unsuccessful entry of Records to Display, shown in Figure A21. Test Description: An incorrect input of Records should lead to error message display Inputs: Values less than 1. Expected Results: Error message displays and revert back to default settings. Result: Passed Figure A21: Unsuccessful Record Entry Page 22

23 A5- Conclusion The accomplishments made during the maintenance were that SolarFlare is now able to connect to solarems.net and is currently gathering the correct data, fixed broken links and added links to solarems.net website, made solar.fgcu.edu more efficient by not having to wait several minutes for pages to load and also added more user control of the data displayed. Several areas of improvement are to change the format of the text describing the variables for it to be more appealing to the user. Also, the gathering of data from solarems.net is correct, but an improvement can be made to display the newly gathered points to solar.fgcu.edu. Page 23

24 A7- InstallCert.java [1] V. Giannone, F. Velosa, Solar Flare: Solar Plant Data Acquisition & Visualization, FGCU, Fall [2] InstallCert.java Source, Page 24

25 A8- Increased User Control <script language="javascript"> function checktextboxes() { var userhour = document.getelementbyid('userhour').value; var userminute = document.getelementbyid('userminute').value; var userday = document.getelementbyid('userday').value; var usermonth = document.getelementbyid('usermonth').value; var useryear = document.getelementbyid('useryear').value; var userrecord = document.getelementbyid('userrecord').value; if(!userhour.match(/\s/)!userminute.match(/\s/)!userday.match(/\s/)!usermonth.match(/\s/)!useryear.match(/\s/)!userrecord.match(/\s/) isnan(userhour) isnan(userminute) isnan(userday) isnan(usermonth) isnan(useryear) isnan(userrecord)) { alert ("Value's left blank or incorrect input.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&userday=1&usermonth=4&useryea r=2010&userrecord=24#"; else { if(userminute == "00" userminute == "15" userminute == "30" userminute == "45"){ if(useryear >= 2010){ if(usermonth >=1 && usermonth <=12){ if(userhour >= 0 && userhour <=23){ if(userday >= 1 && userday <= 31){ if(userrecord >= 1){ document.location.href = "environmental.php?usertime=" + userhour + ":" + userminute + "&userday=" + userday + "&usermonth=" + usermonth + "&useryear=" + useryear + "&userrecord=" + userrecord; else { alert ("Make correct day input for your current month.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3 A45&userday=1&usermonth=4&userye ar=2010&userrecord=24#"; else{ Page 25

26 </script> alert ("Make correct day input for your current month.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&us erday=1&usermonth=4&useryear=2010&user record=24#"; else{ alert ("Hour needs to be between 0 and 23 inclusive.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&userday =1&usermonth=4&useryear=2010&userrecord=24# "; else{ alert ("Month needs to be between 1 and 12 inclusive.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&userday=1&use rmonth=4&useryear=2010&userrecord=24#"; else{ alert ("Year needs to be 2010 or after.\nreverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&userday=1&usermont h=4&useryear=2010&userrecord=24#"; else{ alert ("Minute needs to either be 00, 15, 30 or 45.\nReverting to default start date."); document.location.href = "environmental.php?usertime=18%3a45&userday=1&usermonth=4&u seryear=2010&userrecord=24#"; Page 26

27 A9- InstallCert.java /* * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. * */ /** * Use: * java InstallCert hostname */ import javax.net.ssl.*; import java.io.*; import java.security.keystore; import java.security.messagedigest; import java.security.cert.certificateexception; import java.security.cert.x509certificate; /** * Class used to add the server's certificate to the KeyStore * with your trusted certificates. */ public class InstallCert { public static void main(string[] args) throws Exception { String host; int port; char[] passphrase; if ((args.length == 1) (args.length == 2)) { String[] c = args[0].split(":"); host = c[0]; port = (c.length == 1)? 443 : Integer.parseInt(c[1]); String p = (args.length == 1)? "changeit" : args[1]; passphrase = p.tochararray(); Page 27

28 else { System.out.println("Usage: java InstallCert <host>[:port] [passphrase]"); return; File file = new File("jssecacerts"); if (file.isfile() == false) { char SEP = File.separatorChar; File dir = new File(System.getProperty("java.home") + SEP + "lib" + SEP + "security"); file = new File(dir, "jssecacerts"); if (file.isfile() == false) { file = new File(dir, "cacerts"); System.out.println("Loading KeyStore " + file + "..."); InputStream in = new FileInputStream(file); KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks.load(in, passphrase); in.close(); SSLContext context = SSLContext.getInstance("TLS"); TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorith m()); tmf.init(ks); X509TrustManager defaulttrustmanager = (X509TrustManager) tmf.gettrustmanagers()[0]; SavingTrustManager tm = new SavingTrustManager(defaultTrustManager); context.init(null, new TrustManager[]{tm, null); SSLSocketFactory factory = context.getsocketfactory(); System.out.println("Opening connection to " + host + ":" + port + "..."); SSLSocket socket = (SSLSocket) factory.createsocket(host, port); socket.setsotimeout(10000); try { System.out.println("Starting SSL handshake..."); socket.starthandshake(); socket.close(); System.out.println(); System.out.println("No errors, certificate is already trusted"); catch (SSLException e) { System.out.println(); e.printstacktrace(system.out); Page 28

29 X509Certificate[] chain = tm.chain; if (chain == null) { System.out.println("Could not obtain server certificate chain"); return; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println(); System.out.println("Server sent " + chain.length + " certificate(s):"); System.out.println(); MessageDigest sha1 = MessageDigest.getInstance("SHA1"); MessageDigest md5 = MessageDigest.getInstance("MD5"); for (int i = 0; i < chain.length; i++) { X509Certificate cert = chain[i]; System.out.println (" " + (i + 1) + " Subject " + cert.getsubjectdn()); System.out.println(" Issuer " + cert.getissuerdn()); sha1.update(cert.getencoded()); System.out.println(" sha1 " + tohexstring(sha1.digest())); md5.update(cert.getencoded()); System.out.println(" md5 " + tohexstring(md5.digest())); System.out.println(); System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]"); String line = reader.readline().trim(); int k; try { k = (line.length() == 0)? 0 : Integer.parseInt(line) - 1; catch (NumberFormatException e) { System.out.println("KeyStore not changed"); return; X509Certificate cert = chain[k]; String alias = host + "-" + (k + 1); ks.setcertificateentry(alias, cert); OutputStream out = new FileOutputStream("jssecacerts"); ks.store(out, passphrase); Page 29

30 out.close(); System.out.println(); System.out.println(cert); System.out.println(); System.out.println ("Added certificate to keystore 'jssecacerts' using alias '" + alias + "'"); private static final char[] HEXDIGITS = " abcdef".toCharArray(); private static String tohexstring(byte[] bytes) { StringBuilder sb = new StringBuilder(bytes.length * 3); for (int b : bytes) { b &= 0xff; sb.append(hexdigits[b >> 4]); sb.append(hexdigits[b & 15]); sb.append(' '); return sb.tostring(); private static class SavingTrustManager implements X509TrustManager { private final X509TrustManager tm; private X509Certificate[] chain; SavingTrustManager(X509TrustManager tm) { this.tm = tm; public X509Certificate[] getacceptedissuers() { throw new UnsupportedOperationException(); public void checkclienttrusted(x509certificate[] chain, String authtype) throws CertificateException { throw new UnsupportedOperationException(); public void checkservertrusted(x509certificate[] chain, String authtype) throws CertificateException { this.chain = chain; tm.checkservertrusted(chain, authtype); Page 30

31 Page 31

Spark 源码编译遇到的问题解决 Spark 大数据博客 -

Spark 源码编译遇到的问题解决 Spark 大数据博客 - 1 内存不够 [ERROR] PermGen space -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors,re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging.

More information

Solar Flare: Solar Plant Data Acquisition & Visualization Felipe Velosa, Vincent Giannone

Solar Flare: Solar Plant Data Acquisition & Visualization Felipe Velosa, Vincent Giannone Solar Flare: Solar Plant Data Acquisition & Visualization Felipe Velosa, Vincent Giannone Final Draft 12/5/2013 CNT 4104 Software Project in Computer Networks Instructor: Dr. Janusz Zalewski Computer Science

More information

Secure Programming Lab 3: Solutions

Secure Programming Lab 3: Solutions Secure Programming Lab 3: Solutions Rui Li, Arthur Chan and David Aspinall 14th March 2017 1. Metadata and privacy Checkpoint 1. Where did the metadata come from? Is any of the data concerning from a privacy

More information

Input from Files. Buffered Reader

Input from Files. Buffered Reader Input from Files Buffered Reader Input from files is always text. You can convert it to ints using Integer.parseInt() We use BufferedReaders to minimize the number of reads to the file. The Buffer reads

More information

The client also provides utilities to disassemble signatures (e.g. extracting the signer certificates, digest algorithms used etc.

The client also provides utilities to disassemble signatures (e.g. extracting the signer certificates, digest algorithms used etc. Krestfield EzSign Client Integration Guide Version 2.1 Copyright Krestfield 2017 Introduction The Krestfield EzSign Client is a lightweight java package which interfaces with the EzSign Server enabling

More information

Introduction to Cisco CDS Software APIs

Introduction to Cisco CDS Software APIs CHAPTER 1 Cisco Content Delivery System (CDS) software provides HyperText Transport Protocol Secure (HTTPS) application program interfaces (APIs) for monitoring and managing the acquisition and distribution

More information

Introduction to Cisco ECDS Software APIs

Introduction to Cisco ECDS Software APIs CHAPTER 1 This chapter contains the following sections: Overview of HTTPS APIs, page 1-1 Calling the HTTPS APIs, page 1-2 Sample Java Program, page 1-3 API Error Messages, page 1-5 API Tasks, page 1-7

More information

Introduction to Cisco CDS Software APIs

Introduction to Cisco CDS Software APIs CHAPTER 1 Cisco Content Delivery System (CDS) software provides HyperText Transport Protocol Secure (HTTPS) application program interfaces (APIs) for monitoring and managing the acquisition and distribution

More information

davinci: (Final Draft) Christopher Steiner Dr. Janusz Zalewski Florida Gulf Coast University Fort Myers, Florida

davinci: (Final Draft) Christopher Steiner Dr. Janusz Zalewski Florida Gulf Coast University Fort Myers, Florida davinci: (Final Draft) Christopher Steiner Dr. Janusz Zalewski CEN 4935 Spring 2011 Senior Software Engineering Project Florida Gulf Coast University Fort Myers, Florida 4-30-11 Christopher Steiner Florida

More information

Java Networking (sockets)

Java Networking (sockets) Java Networking (sockets) Rui Moreira Links: http://java.sun.com/docs/books/tutorial/networking/toc.html#sockets http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets_p.html Networking Computers

More information

Timing ListOperations

Timing ListOperations Timing ListOperations Michael Brockway November 13, 2017 These slides are to give you a quick start with timing operations in Java and with making sensible use of the command-line. Java on a command-line

More information

Byte and Character Streams. Reading and Writing Console input and output

Byte and Character Streams. Reading and Writing Console input and output Byte and Character Streams Reading and Writing Console input and output 1 I/O basics The io package supports Java s basic I/O (input/output) Java does provide strong, flexible support for I/O as it relates

More information

Distributed Systems COMP 212. Lecture 8 Othon Michail

Distributed Systems COMP 212. Lecture 8 Othon Michail Distributed Systems COMP 212 Lecture 8 Othon Michail HTTP Protocol Hypertext Transfer Protocol Used to transmit resources on the WWW HTML files, image files, query results, Identified by Uniform Resource

More information

Solar Plant Data Acquisition Maintenance

Solar Plant Data Acquisition Maintenance Solar Plant Data Acquisition Maintenance Instructions on installing and running the software Christian Paulino Teodor Talov Instructor: Dr. Janusz Zalewski CEN 4935 Senior Software Engineering Project

More information

IT101. File Input and Output

IT101. File Input and Output IT101 File Input and Output IO Streams A stream is a communication channel that a program has with the outside world. It is used to transfer data items in succession. An Input/Output (I/O) Stream represents

More information

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 2.A. Design a superclass called Staff with details as StaffId, Name, Phone, Salary. Extend this class by writing three subclasses namely Teaching (domain, publications), Technical (skills), and Contract

More information

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output Manfred Kerber www.cs.bham.ac.uk/~mmk 21 October 2015 1 / 18 Manfred Kerber Classes and Objects The information

More information

Object-Oriented Programming Design. Topic : Streams and Files

Object-Oriented Programming Design. Topic : Streams and Files Electrical and Computer Engineering Object-Oriented Topic : Streams and Files Maj Joel Young Joel Young@afit.edu. 18-Sep-03 Maj Joel Young Java Input/Output Java implements input/output in terms of streams

More information

SCARA Robot Control and Networking Maintenance Report. William Disotell Colin Mitchell

SCARA Robot Control and Networking Maintenance Report. William Disotell Colin Mitchell SCARA Robot Control and Networking Maintenance Report William Disotell Colin Mitchell Final Draft April 24, 2015 CEN 4935 Senior Software Engineering Project Instructor: Dr. Janusz Zalewski Software Engineering

More information

A sample print out is: is is -11 key entered was: w

A sample print out is: is is -11 key entered was: w Lab 9 Lesson 9-2: Exercise 1, 2 and 3: Note: when you run this you may need to maximize the window. The modified buttonhandler is: private static class ButtonListener implements ActionListener public void

More information

Lecture 11.1 I/O Streams

Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 1 OBJECT ORIENTED PROGRAMMING Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 2 Outline I/O Basics Streams Reading characters and string 21/04/2014 Ebtsam AbdelHakam

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

CS Week 11. Jim Williams, PhD

CS Week 11. Jim Williams, PhD CS 200 - Week 11 Jim Williams, PhD This Week 1. Exam 2 - Thursday 2. Team Lab: Exceptions, Paths, Command Line 3. Review: Muddiest Point 4. Lecture: File Input and Output Objectives 1. Describe a text

More information

URL Kullanımı Get URL

URL Kullanımı Get URL Networking 1 URL Kullanımı Get URL URL info 2 import java.io.*; import java.net.*; public class GetURL { public static void main(string[] args) { InputStream in = null; OutputStream out = null; // Check

More information

Equitrac Integrated for Konica Minolta. Setup Guide Equitrac Corporation

Equitrac Integrated for Konica Minolta. Setup Guide Equitrac Corporation Equitrac Integrated for Konica Minolta 1.2 Setup Guide 2012 Equitrac Corporation Equitrac Integrated for Konica Minolta Setup Guide Document Revision History Revision Date Revision List November 1, 2012

More information

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class. Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone

More information

Overview of Web Services API

Overview of Web Services API CHAPTER 1 The Cisco IP Interoperability and Collaboration System (IPICS) 4.0(x) application programming interface (API) provides a web services-based API that enables the management and control of various

More information

davinci: Solarems Data Extraction Christian Paulino Teodor Talov Instructor: Dr. Januz Zalewski CEN 4935 Software Project in Computer Networks

davinci: Solarems Data Extraction Christian Paulino Teodor Talov Instructor: Dr. Januz Zalewski CEN 4935 Software Project in Computer Networks davinci: Solarems Data Extraction Christian Paulino Teodor Talov Instructor: Dr. Januz Zalewski CEN 4935 Software Project in Computer Networks Florida Gulf Coast University 10501 FGCU Blvd. S. Fort Myers,

More information

Input-Output and Exception Handling

Input-Output and Exception Handling Software and Programming I Input-Output and Exception Handling Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Reading and writing text files Exceptions The try block catch and finally

More information

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 10. PUTTING IT ALL TOGETHER. Are we there yet?

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 10. PUTTING IT ALL TOGETHER. Are we there yet? PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 10. PUTTING IT ALL TOGETHER Are we there yet? Developing software, OOA&D style You ve got a lot of new tools, techniques, and ideas about how to develop

More information

MarkLogic Server. XCC Developer s Guide. MarkLogic 9 May, Copyright 2018 MarkLogic Corporation. All rights reserved.

MarkLogic Server. XCC Developer s Guide. MarkLogic 9 May, Copyright 2018 MarkLogic Corporation. All rights reserved. XCC Developer s Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-2, July, 2017 Copyright 2018 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents XCC Developer s Guide 1.0 Introduction

More information

} } class ClientHandler extends Thread { private Socket client; private Scanner input; private PrintWriter output;

} } class ClientHandler extends Thread { private Socket client; private Scanner input; private PrintWriter output; import java.io.*; import java.net.*; import java.util.*; import java.util.properties; public class WebServer private static ServerSocket serversocket; private static final int PORT = 1234; public static

More information

10/30/2010. Introduction to Control Statements. The if and if-else Statements (cont.) Principal forms: JAVA CONTROL STATEMENTS SELECTION STATEMENTS

10/30/2010. Introduction to Control Statements. The if and if-else Statements (cont.) Principal forms: JAVA CONTROL STATEMENTS SELECTION STATEMENTS JAVA CONTROL STATEMENTS Introduction to Control statements are used in programming languages to cause the flow of control to advance and branch based on changes to the state of a program. In Java, control

More information

Recursion. General Algorithm for Recursion. When to use and not use Recursion. Recursion Removal. Examples

Recursion. General Algorithm for Recursion. When to use and not use Recursion. Recursion Removal. Examples Recursion General Algorithm for Recursion When to use and not use Recursion Recursion Removal Examples Comparison of the Iterative and Recursive Solutions Exercises Unit 19 1 General Algorithm for Recursion

More information

Sophos Mobile Control Network Access Control interface guide

Sophos Mobile Control Network Access Control interface guide Sophos Mobile Control Network Access Control interface guide Product version: 5.1 Document date: July 2015 Contents 1 About Sophos Mobile Control... 3 2 About Network Access Control integration... 4 3

More information

Equitrac Integrated for Konica Minolta

Equitrac Integrated for Konica Minolta Equitrac Integrated for Konica Minolta 1.2 Setup Guide 2014 Equitrac Integrated for Konica Minolta Setup Guide Document Revision History Revision Date Revision List August 9, 2013 Updated for Equitrac

More information

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes. Debugging tools

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes.  Debugging tools Today Book-keeping File I/O Subscribe to sipb-iap-java-students Inner classes http://sipb.mit.edu/iap/java/ Debugging tools Problem set 1 questions? Problem set 2 released tomorrow 1 2 So far... Reading

More information

Evolution of AL5A Robotic Arm. Derek Pike, Mike DeSeno

Evolution of AL5A Robotic Arm. Derek Pike, Mike DeSeno Evolution of AL5A Robotic Arm Appendix Derek Pike, Mike DeSeno Draft 2 May 3, 2017 CEN 4935 Senior Software Engineering Project Instructors: Dr. Janusz Zalewski & Dr. Fernando Gonzalez Department of Software

More information

Chapter 2. Network Chat

Chapter 2. Network Chat Chapter 2. Network Chat In a multi-player game, different players interact with each other. One way of implementing this is to have a centralized server that interacts with each client using a separate

More information

Programming Project # 2. CS255 Due: Wednesday, 3/9, 11:59pm Pacific Elizabeth Stinson

Programming Project # 2. CS255 Due: Wednesday, 3/9, 11:59pm Pacific Elizabeth Stinson Programming Project # 2 CS255 Due: Wednesday, 3/9, 11:59pm Pacific Elizabeth Stinson The players CertificateAuthority: everyone trusts him He signs the pub keys of valid entities (Brokers, BrokerClients)

More information

Algorithms and Problem Solving

Algorithms and Problem Solving Algorithms and Problem Solving Introduction What is an Algorithm? Algorithm Properties Example Exercises Unit 16 1 What is an Algorithm? What is an Algorithm? An algorithm is a precisely defined and ordered

More information

COMP 213. Advanced Object-oriented Programming. Lecture 20. Network Programming

COMP 213. Advanced Object-oriented Programming. Lecture 20. Network Programming COMP 213 Advanced Object-oriented Programming Lecture 20 Network Programming Network Programming A network consists of several computers connected so that data can be sent from one to another. Network

More information

Chapter 10. IO Streams

Chapter 10. IO Streams Chapter 10 IO Streams Java I/O The Basics Java I/O is based around the concept of a stream Ordered sequence of information (bytes) coming from a source, or going to a sink Simplest stream reads/writes

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

/ Download the Khateeb Classes App

/ Download the Khateeb Classes App Q) Write a program to calculate the factorial of any given integer. import java.io.*; class Data public static void main(string[] args) throws IOException int i,n,f=1; String s = new String(); InputStreamReader

More information

Internet Technology 2/7/2013

Internet Technology 2/7/2013 Sample Client-Server Program Internet Technology 02r. Programming with Sockets Paul Krzyzanowski Rutgers University Spring 2013 To illustrate programming with TCP/IP sockets, we ll write a small client-server

More information

Course Content. Objectives of Lecture 22 File Input/Output. Outline of Lecture 22. CMPUT 102: File Input/Output Dr. Osmar R.

Course Content. Objectives of Lecture 22 File Input/Output. Outline of Lecture 22. CMPUT 102: File Input/Output Dr. Osmar R. Structural Programming and Data Structures Winter 2000 CMPUT 102: Input/Output Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection

More information

SimSun "zh" = 0pt plus 1pt

SimSun zh = 0pt plus 1pt SimSun "zh" = 0pt plus 1pt 0.1 2015-11-09 06:35:58 Contents 1 3 1.1...................................................... 3 1.2...................................................... 3 1.3......................................................

More information

Simple Data Source Crawler Plugin to Set the Document Title

Simple Data Source Crawler Plugin to Set the Document Title Simple Data Source Crawler Plugin to Set the Document Title IBM Content Analytics 1 Contents Introduction... 4 Basic FS Crawler behavior.... 8 Using the Customizer Filter to Modify the title Field... 13

More information

Array. Array Declaration:

Array. Array Declaration: Array Arrays are continuous memory locations having fixed size. Where we require storing multiple data elements under single name, there we can use arrays. Arrays are homogenous in nature. It means and

More information

PKI and TLS. Project 2, EITF55 Security, Ben Smeets Dept. of Electrical and Information Technology, Lund University, Sweden

PKI and TLS. Project 2, EITF55 Security, Ben Smeets Dept. of Electrical and Information Technology, Lund University, Sweden PKI and TLS Project 2, EITF55 Security, 2019 Ben Smeets Dept. of Electrical and Information Technology, Lund University, Sweden Last revised by Ben Smeets on 2019 01 13 at 16:30 What you will learn In

More information

SDN Contribution HOW TO CONFIGURE XMII BUILD 63 AND IIS 6.0 FOR HTTPS

SDN Contribution HOW TO CONFIGURE XMII BUILD 63 AND IIS 6.0 FOR HTTPS SDN Contribution HOW TO CONFIGURE XMII 11.5.1 BUILD 63 AND IIS 6.0 FOR HTTPS Applies to: Configuring SAP xapp Manufacturing Integration and Intelligence (SAP xmii 11.5.1 build 63) and IIS 6.0 for https.

More information

Full file at

Full file at Chapter 1 Primitive Java Weiss 4 th Edition Solutions to Exercises (US Version) 1.1 Key Concepts and How To Teach Them This chapter introduces primitive features of Java found in all languages such as

More information

Socket Programming(TCP & UDP) Sanjay Chakraborty

Socket Programming(TCP & UDP) Sanjay Chakraborty Socket Programming(TCP & UDP) Sanjay Chakraborty Computer network programming involves writing computer programs that enable processes to communicate with each other across a computer network. The endpoint

More information

1.00 Lecture 30. Sending information to a Java program

1.00 Lecture 30. Sending information to a Java program 1.00 Lecture 30 Input/Output Introduction to Streams Reading for next time: Big Java 15.5-15.7 Sending information to a Java program So far: use a GUI limited to specific interaction with user sometimes

More information

Access SharePoint using Basic Authentication and SSL (via Alternative Access URL) with SP 2016 (v 1.9)

Access SharePoint using Basic Authentication and SSL (via Alternative Access URL) with SP 2016 (v 1.9) Access SharePoint using Basic Authentication and SSL (via Alternative Access URL) with SP 2016 (v 9) This page is part of the installation guide for the Confluence SharePoint Connector. It tells you how

More information

Lesson 3: Accepting User Input and Using Different Methods for Output

Lesson 3: Accepting User Input and Using Different Methods for Output Lesson 3: Accepting User Input and Using Different Methods for Output Introduction So far, you have had an overview of the basics in Java. This document will discuss how to put some power in your program

More information

EUCEG: Encryption process

EUCEG: Encryption process EUROPEAN COMMISSION DIRECTORATE-GENERAL FOR HEALTH AND FOOD SAFETY General Affairs Information systems EUCEG: Encryption process Document Control Information Settings Document Title: Project Title: Document

More information

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp DM550 / DM857 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk http://imada.sdu.dk/~petersk/dm550/ http://imada.sdu.dk/~petersk/dm857/ IN & OUTPUT USING STREAMS 2 Streams streams are

More information

Java Input/Output. 11 April 2013 OSU CSE 1

Java Input/Output. 11 April 2013 OSU CSE 1 Java Input/Output 11 April 2013 OSU CSE 1 Overview The Java I/O (Input/Output) package java.io contains a group of interfaces and classes similar to the OSU CSE components SimpleReader and SimpleWriter

More information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

Networking Basics. network communication.

Networking Basics. network communication. JAVA NETWORKING API Networking Basics When you write Java programs that communicate over the network, you are programming at the application layer. Typically, you don't need to concern yourself with the

More information

Fundamentals of Programming Data Types & Methods

Fundamentals of Programming Data Types & Methods Fundamentals of Programming Data Types & Methods By Budditha Hettige Overview Summary (Previous Lesson) Java Data types Default values Variables Input data from keyboard Display results Methods Operators

More information

New York University Intro to Computer Science (CSCI-UA.101) Fall 2014 Midterm #1 Test G. Instructions:

New York University Intro to Computer Science (CSCI-UA.101) Fall 2014 Midterm #1 Test G. Instructions: NAME: New York University Intro to Computer Science (CSCI-UA.101) Fall 2014 Midterm #1 Test G Instructions: KEEP TEST BOOKLET CLOSED UNTIL YOU ARE INSTRUCTED TO BEGIN. Omit one page from this exam. To

More information

Principles, Models and Applications for Distributed Systems M

Principles, Models and Applications for Distributed Systems M Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models and Applications for Distributed Systems M Lab assignment 2 (worked-out) Connectionless Java Sockets Luca Foschini 2010/2011 Exercise

More information

Programmierpraktikum

Programmierpraktikum Programmierpraktikum Claudius Gros, SS2012 Institut für theoretische Physik Goethe-University Frankfurt a.m. 1 of 21 05/07/2012 10:31 AM Input / Output Streams 2 of 21 05/07/2012 10:31 AM Java I/O streams

More information

Vendor: Oracle. Exam Code: 1Z Exam Name: Java SE 8 Programmer. Version: Demo

Vendor: Oracle. Exam Code: 1Z Exam Name: Java SE 8 Programmer. Version: Demo Vendor: Oracle Exam Code: 1Z0-808 Exam Name: Java SE 8 Programmer Version: Demo DEMO QUESTION 1 Which of the following data types will allow the following code snippet to compile? A. long B. double C.

More information

CS September 2017

CS September 2017 Machine vs. transport endpoints IP is a network layer protocol: packets address only the machine IP header identifies source IP address, destination IP address Distributed Systems 01r. Sockets Programming

More information

WOSO Source Code (Java)

WOSO Source Code (Java) WOSO 2017 - Source Code (Java) Q 1 - Which of the following is false about String? A. String is immutable. B. String can be created using new operator. C. String is a primary data type. D. None of the

More information

CSPP : Introduction to Object-Oriented Programming

CSPP : Introduction to Object-Oriented Programming CSPP 511-01: Introduction to Object-Oriented Programming Harri Hakula Ryerson 256, tel. 773-702-8584 hhakula@cs.uchicago.edu August 7, 2000 CSPP 511-01: Lecture 15, August 7, 2000 1 Exceptions Files: Text

More information

CISC 323 (Week 9) Design of a Weather Program & Java File I/O

CISC 323 (Week 9) Design of a Weather Program & Java File I/O CISC 323 (Week 9) Design of a Weather Program & Java File I/O Jeremy Bradbury Teaching Assistant March 8 & 10, 2004 bradbury@cs.queensu.ca Programming Project The next three assignments form a programming

More information

Software 1 with Java. Recitation No. 7 (Java IO) May 29,

Software 1 with Java. Recitation No. 7 (Java IO) May 29, Software 1 with Java Recitation No. 7 (Java IO) May 29, 2007 1 The java.io package The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes

More information

Java in 21 minutes. Hello world. hello world. exceptions. basic data types. constructors. classes & objects I/O. program structure.

Java in 21 minutes. Hello world. hello world. exceptions. basic data types. constructors. classes & objects I/O. program structure. Java in 21 minutes hello world basic data types classes & objects program structure constructors garbage collection I/O exceptions Strings Hello world import java.io.*; public class hello { public static

More information

Network. Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark

Network. Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark Network Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark jbb@ase.au.dk Outline Socket programming If we have the time: Remote method invocation (RMI) 2 Socket Programming Sockets

More information

Recursive Problem Solving

Recursive Problem Solving Recursive Problem Solving Objectives Students should: Be able to explain the concept of recursive definition. Be able to use recursion in Java to solve problems. 2 Recursive Problem Solving How to solve

More information

COMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE. Instructor: Prasun Dewan (FB 150,

COMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE. Instructor: Prasun Dewan (FB 150, COMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE Instructor: Prasun Dewan (FB 150, dewan@unc.edu) SCOPE: BASICS AND BEYOND Basic use: CS 1 Beyond basic use: CS2 2 DOWNLOAD FROM WWW.ECLIPSE.ORG Get the

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies Streams A stream is a sequence of data. In Java a stream is composed of bytes. In java, 3 streams are created for us automatically. 1. System.out : standard output stream 2. System.in : standard input

More information

תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת

תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת A Typical Program Most applications need to process some input and produce some output based on that input The Java IO package (java.io) is to make that possible

More information

Each command-line argument is placed in the args array that is passed to the static main method as below :

Each command-line argument is placed in the args array that is passed to the static main method as below : 1. Command-Line Arguments Any Java technology application can use command-line arguments. These string arguments are placed on the command line to launch the Java interpreter after the class name: public

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design I/O subsystem API Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 10, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction to Java

More information

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O Week 12 Streams and File I/O Overview of Streams and File I/O Text File I/O 1 I/O Overview I/O = Input/Output In this context it is input to and output from programs Input can be from keyboard or a file

More information

6O03 project report. Main points for the solution. Build a combination possibility tableau. Problem: Page 5, the prime number problem

6O03 project report. Main points for the solution. Build a combination possibility tableau. Problem: Page 5, the prime number problem 1 6O03 project report Problem: Page 5, the prime number problem Main points for the solution The problem is asking a minimum value of k with given a number of the possibility of its prime combination multinomial.

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design I/O subsystem API Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 10, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction to Java

More information

Web Service Integration

Web Service Integration SOAP Service, page 1 Rest Service, page 2 SOAP Service Web Services Element Web services are a common way for any kind of application to communicate with externally hosted servers to retrieve information

More information

Ultra Messaging (Version 6.11) Manager Guide. Copyright (C) , Informatica Corporation. All Rights Reserved.

Ultra Messaging (Version 6.11) Manager Guide. Copyright (C) , Informatica Corporation. All Rights Reserved. Ultra Messaging (Version 6.11) Manager Guide Copyright (C) 2004-2017, Informatica Corporation. All Rights Reserved. Contents 1 Introduction 5 1.1 UM Manager Overview.........................................

More information

I/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O

I/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O I/O 10-7-2013 I/O in Java I/O streams vs. Reader/Writer HW#3 due today Reading Assignment: Java tutorial on Basic I/O public class Swimmer implements Cloneable { public Date geteventdate() { return (Date)

More information

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:

More information

CT51 WEB TECHNOLOGY ALCCS-FEB 2014

CT51 WEB TECHNOLOGY ALCCS-FEB 2014 Q.1 a. What is the purpose of Marquee tag? Text included within the tag moves continuously from right to left. For e.g. The globe is moving It is used actually to highlight

More information

PSK Cipher Suites. isasilk Version 5. Stiftung SIC

PSK Cipher Suites. isasilk Version 5. Stiftung SIC PSK Cipher Suites isasilk Version 5 Stiftung SIC http://jce.iaik.tugraz.at Copyright 2006 2015 Stiftung Secure Information and Communication Technologies SIC Java and all Java-based marks are trademarks

More information

Example: Copying the contents of a file

Example: Copying the contents of a file Administrivia Assignment #4 is due imminently Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in the front office for a demo time Dining Philosophers code is online www.cs.ubc.ca/~norm/211/2009w2/index.html

More information

Check out how to use the random number generator (introduced in section 4.11 of the text) to get a number between 1 and 6 to create the simulation.

Check out how to use the random number generator (introduced in section 4.11 of the text) to get a number between 1 and 6 to create the simulation. Chapter 4 Lab Loops and Files Lab Objectives Be able to convert an algorithm using control structures into Java Be able to write a while loop Be able to write an do-while loop Be able to write a for loop

More information

Data Types and the while Statement

Data Types and the while Statement Session 2 Student Name Other Identification Data Types and the while Statement In this laboratory you will: 1. Learn about three of the primitive data types in Java, int, double, char. 2. Learn about the

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Published: December 23, 2013, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

Table of Contents 1 AQL SMS Gateway How to Guide...1

Table of Contents 1 AQL SMS Gateway How to Guide...1 Table of Contents 1 AQL SMS Gateway How to Guide...1 2 AQL...2 3 Overview...3 4 Trial Account with 50 free SMS messages...4 5 Prerequisites...5 6 Configuring the AQL transport...6 6.1 Configuring one or

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Revised: September 17, 2012, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Revised: November 8, 2010, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

6.11: An annotated flowchart is shown in Figure 6.2.

6.11: An annotated flowchart is shown in Figure 6.2. 6.11: An annotated flowchart is shown in Figure 6.2. Figure 6.2. Annotated flowchart of code fragment of Problem 6.13. The input specification is A: n 1, 2, 3,. It clearly holds at all points on the flowchart,

More information

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this.

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this. CS 201, Fall 2013 Oct 2nd Exam 1 Name: Question 1. [5 points] What output is printed by the following program (which begins on the left and continues on the right)? public class Q1 { public int x; public

More information

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail.

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail. OOP in Java 1 Outline 1. Getting started, primitive data types and control structures 2. Classes and objects 3. Extending classes 4. Using some standard packages 5. OOP revisited Parts 1 to 3 introduce

More information

Classes Basic Overview

Classes Basic Overview Final Review!!! Classes and Objects Program Statements (Arithmetic Operations) Program Flow String In-depth java.io (Input/Output) java.util (Utilities) Exceptions Classes Basic Overview A class is a container

More information