CS Department

CSCI 201L Home

Syllabus

Lectures

Assignments

Previous Exams



CSCI 201L
Principles of Software Development
Summer 2018


Chapter references are from Liang, Y. Daniel. Introduction to Java Programming, Comprehensive Version, 11th Edition, Prentice Hall, Inc., 2017. ISBN 978-0134670942


Lectures
LabLecture #DayDateLecture TopicChapterProgram
No Lab 1 Wednesday 5-16 Introduction
Environment
Reading Parameters
Conditions
Loops
Methods
Arrays
Strings
1-8 Operation.java
Fibonacci.java
Salary.java
Dice.java
1 Wednesday 5-16 Classes
Packages
File I/O
9-10 Salary.java
FileCopy.java
FileCopier.java
Inheritance
Lab2.java
Solution
2 Thursday 5-17 Inheritance
Abstract Classes and Interfaces
Polymorphism
11, 13 TestShape.java
Shape.java
Rectangle.java
Square.java
Triangle.java
2 Thursday 5-17 Garbage Collection
Exception Handling
Serialization
Generics
Inner Classes
12, 19 NumberExceptions.java
NumberGreaterException.java Employee.java
EmployeeMain.java
GenericArray.java
Saturday 5-19 ASSIGNMENT 1 DUE
Github Tutorial
Environment Setup
3 Monday 5-21 HTML
CSS
base.html
css0.html
css1.html
css1.css
css2.html
css2.css
3 Monday 5-21 Java Servlets
JSP
37-38 jstl-1.2.jar
schoolform.html
SchoolFormServlet.java
SchoolForm.jsp
HTML/CSS
css0.html
css1.html
css1.css
css2.html
css2.css
Solution
4 Tuesday 5-22 JavaScript
4 Tuesday 5-22 AJAX ajaxform.html
validate.jsp
form.jsp
JSP and Servlets
Solution
5 Wednesday 5-23 Concurrent Computing 32 MultipleThreads.java
ThreeThreads.java
5 Wednesday 5-23 Thread Methods
Thread Pools
Thread Priorities
32 Counting.java
JavaScript and AJAX
Solution
6 Thursday 5-24 Software Engineering
Methodologies
Testing
Royce's Waterfall Paper (1970)
Boehm's Spiral Paper (1988)
Demarco/Boehm Agile Discussion Paper (2002)
6 Thursday 5-24 Project Discussion
Friday 5-25 ASSIGNMENT 2 DUE
FP - TEAM MEMBERS AND PROPOSAL DUE
Threads
Solution
7 Tuesday 5-29 Networking Theory 33
7 Tuesday 5-29 Networking Theory (cont.) 33
Tuesday 5-29 FP - HIGH LEVEL REQUIREMENTS DUE
Software Engineering 8 Wednesday 5-30 Network Programming
31 ChatServer.java
ChatClient.java
8 Wednesday 5-30 Multi-Threaded Network Programming
Review for Exam
31 ChatRoom.java
ChatClient.java
ServerThread.java
Networking Worksheet (PDF)
Networking Worksheet (Fillable PDF)
9 Thursday 5-31 Networking Serialization 31 ChatRoom.java
ChatClient.java
ServerThread.java
ChatMessage.java
9 Thursday 5-31 WebSockets 31 chat.html
ServerSocket.java
Thursday 5-31
11:30a.m.-1:00p.m.
WRITTEN EXAM #1
Friday 6-1 FP - TECHNICAL SPECIFICATIONS DUE
Saturday 6-2 ASSIGNMENT 3 DUE
Sunday 6-3 FP - DETAILED DESIGN DOCUMENT DUE
MySQL Installation 10 Monday 6-4 Databases 32, 35
10 Monday 6-4 SQL 32, 35 createDatabase.sql
queryDatabase.sql
Web Server
Solution
11 Tuesday 6-5 JDBC
JDBC Tutorial
32, 35 MySQL JDBC Driver
JDBCTest.java
Grades.sql
studentQuery.html
queryStudent.java
displayStudent.jsp
11 Tuesday 6-5 Concurrency
Monitors
30 AddAPenny.java
AddAndRemoveAPenny.java
Tuesday 6-5 ASSIGNMENT 4 DUE
FP - TESTING DOCUMENT DUE
FP - PEER REVIEW #1 DUE
JDBC
Solution
12 Wednesday 6-6 Locks and Conditions
Producer/Consumer
30 AddAndRemoveAPenny.java
ProducerConsumerWithMonitors.java
ProducerConsumerWithLocks.java
12 Wednesday 6-6 Sleeping Barber
Locks Programming
30 SleepingBarber.java
Customer.java
Util.java
NumberServer.java
NumberClient.java
Wednesday 6-6 FP - DEPLOYMENT DOCUMENT DUE
Locks and Monitors
ChatClient.java
ChatMessage.java
ChatServer.java
ServerThread.java
13 Thursday 6-7 Multi-Threaded Programming Design
Semaphores
Semaphore Programming
30 NumberServer.java
NumberClient.java
13 Thursday 6-7 Parallel Computing 30 SumNoParallel.java
SumParallel.java
NonParallelMergeSort.java
ParallelMergeSort.java
Sunday 6-10 FP - COMPLETE CODE DUE
FP - PEER REVIEW #2 DUE
Parallel Computing 14 Monday 6-11 Distributing Computing
RMI
39 AddNumbersClient.java
AddNumbersCalculation.java
AddNumbersInterface.java
AddNumbersTask.java
AddNumbersServer.java
14 Monday 6-11 FP - Project Demonstrations
Monday 6-11 ASSIGNMENT 5 DUE
FP - COMPLETE DOCUMENTATION DUE
No Lab Tuesday 6-12
11:00a.m.-1:00p.m.
WRITTEN EXAM #2
6-12