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

This page cannot be seen from the preview

Don't miss anything!

bg1
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
pf3
pf4

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.

  1. 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?
  2. 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.
  3. 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.
  1. Continue working on course projects as teams. Each team member must have clear assignment of his/her responsibilities for the next project presentation by April 14, 2005.

Week 11: Apr. 10 – Apr. 16

  1. Read Chapter 7 “Focusing on users and their tasks” of the textbook, and listen and watch the author’s lecture video on the chapter.
  2. Read Chapter 8 “Modeling interaction and behavior” of the textbook, and listen and watch the author’s lecture video on the chapter.
  3. Continue working on course projects as teams. Each team will present its project and documentation on April 14, 2005.

Week 12: Apr. 17 – Apr. 23

  1. Continue reading Chapter 8 “Modeling interaction and behavior” of the textbook, and listening and watching the author’s lecture video on the chapter.
  2. Take Quiz 2 on April 21.
  3. Continue to work on team projects.
  4. Learn C# and Microsoft Visual Studio .NET

Week 13: Apr. 24 – Apr. 30

  1. Read Chapter 9 “Architecting and designing software” and Chapter 10 “Testing and inspecting to ensure high quality”
  2. Summary of software processes

Week 14: May 1 – May 7

  1. Project demo and presentation continue
  2. All project deliverables are due