Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

CS389 Software Engineering Assignments and Readings - Spring 2005, Exams of Software Engineering

The weekly assignments and readings for the cs389 software engineering course during the spring 2005 semester. Students are expected to read chapters from the textbook, understand and run java code files, write java programs, and participate in group projects and presentations.

Typology: Exams

Pre 2010

Uploaded on 08/09/2009

koofers-user-1ot
koofers-user-1ot 🇺🇸

10 documents

1 / 4

Toggle sidebar

Related documents


Partial preview of the text

Download CS389 Software Engineering Assignments and Readings - Spring 2005 and more Exams Software Engineering in PDF only on Docsity! CS389 Software Engineering Weekly Assignments Spring 2005 Week 1: Jan. 23 – Jan 29 1. Read Chapter 1 of the textbook. 2. Review, understand, and run Java source code files ShowException.java, ReadInputDemo.java, StringTokenizerDemo.java, and CollectionDemo.java. 3. Answer the following question by responding to my Weekly Question 1 thread • Can we ever build large software applications with the same level of confidence about their quality as civil engineers can on their bridges? Why? Week 2: Jan. 30 – Feb. 5 1. Read Chapter 2 of the textbook. 2. Review, understand, and run Java code files InheritanceDemo.java, InterfaceDemo.java, StaticDemo.java, TestThreads.java, PiggyBankWithoutSynch.java, and PiggyBankWithSynch. 3. Write a Java program to determine whether the input string is a palindrome. A palindrome is a string that reads the same no matter you read it from left to right or from right to left. You should take advantage of class java.util.Stack. You may need to use some methods of String or Stack that are new to you. Learn to use Java online documentation at http://java.sun.com/j2se/1.4.2/docs/api/ to find the necessary information. (Hint: You need String’s methods length() and charAt(int). You need to convert char into Character object, with Character’s constructor, and convert a Character object into a char value by Character’s method charValue(). You need to know how to cask a general java.lang.Object object into a Character object.) 4. Answer the following question to my Weekly Question 1 thread • Can we ever prove that a program is correct by conducting thorough debugging and testing? If yes, why? If not, why all companies spend lots of resources in debugging and testing? Week 3: Feb. 6 – Feb. 12 1. Read Chapter 3 of the textbook. 2. Read, understand, and run Java programs "StaticDemo.java", "ReflectionDemo.java", "AreaServer.java", and "AreaClient.java". 3. Write client/server programs "AccuServer.java" and "AccuClient.java" where the server supports the function of a method "int addTo(int v)" for reporting the accumulated argument values for the method since the start of the client session. The server should be able to serve up to 100 concurrent clients a time. The programs should use a default port number for the server's server socket, and also allow the users to provide a different port number on the command-line at server/client program startup. 4. Discuss on the question: "Who should own the software source code?" Consider the question in the context of protecting intellectual property, encouraging market competition, and software quality control. The subquestions include: (a) which stakeholders of a software process should own the software source code; (b) what kind of source code ownership could promote fair business competions; (c) if we buy binary code (like Java jar files) without its source code, how can we have confidence in its quality? 5. Set up two groups. each 5-6 student will make a group, and each group should select a group leader. Each group should have balanced skills in program design and implementation, leadership and project management, and technical writing. 6. As part of week 4's assignment, group 1 should prepare to present OCSF files "AbstractServer.java" and "ConnectionToClient.java" on Feb. 17, and group 2 should prepare to present OCSF files "AbstractClient.java", "ChatClient.java", "ChatIF.java", "ClientConsole.java", and "EchoServer.java" on Feb. 17. Week 4: Feb. 13 – Feb. 19 1. Complete the reading of Chapter 3 of the textbook, listen and watch the author’s lecture video on the chapter. 2. Read, understand, and run Java files “TestObservable.java”, “MyObservable.java”, “MyObserver.java”, and “TestMyObservable.java”. 3. Read and understand OCSF and Chat utility’s source files “AbstractServer.java”, “ConnectionToClient.java”, “AbstractClient.java”, “ChatClient.java”, “ChatIF.java”, “ClientConsole.java”, and “EchoServer.java”. 4. On Thursday, group 1 will present the design and logic of Java files “AbstractServer.java” and “ConnectionToClient.java”, and group 2 will present the design and logic of Java files “AbstractClient.java”, “ChatClient.java”, “ChatIF.java”, “ClientConsole.java”, and “EchoServer.java”. 5. Complete Project Exercise P3.2 on page 97 of the textbook, and post the zip file of your upgraded project containing all of its source files. 6. Each group should brainstorm on course project topic, and the group leaders should post its descriptions for further discussion. The project should be based on the OCSF framework and have user-friendly graphic user interfaces. 7. Discuss on the question: “What are the main advantages of separating user interface code from business-logic code?” Week 5: Feb. 20 – Feb 26 1. Read Chapter 4 “Developing Requirements” of the textbook, and listen and watch the author’s lecture video on the chapter. 2. Complete Project Exercise P3.3 on page 97 of the textbook to further enhance the Simple Chat client/server application.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved