This page lists the lab activities. We might get started on these labs in class, but you will not be able to finish them in class. All of the labs will be graded, as required assignments.

The labs provide extremely important concepts and techniques that will be essential for completing your team project. The given due dates are the enforced dates, but I HIGHLY encourage you to work on the SQL-related labs (Lab04, Lab05, and Lab06) ahead of time, as they are essential for getting a good start on your persistent database design and implementation.

In fact, your team will likely be using Lab06 as the basis for your team project’s database. If you ask any of the teams from previous years, they will all tell you that the database portion of their project implementation was the most time-consuming and difficult of their various project’s tasks.

NOTE: For Lab02, Lab02a, Lab05, and Lab06 (the labs that require programming submissions), you MUST also refactor the name of the project to include your username - BEFORE YOU EXPORT IT AND SUBMIT IT TO MARMOSET. Submissions that DO NOT adhere to that guideline will not be graded until they are refactored and resubmitted.

Example: If I was submitting Lab02, I would refactor the CS320_Lab02 project to CS320_Lab02_djhake2 as soon as I imported the project into Eclipse. You should do the same with your user name for the four projects that are listed above.

Due Date Lab File
Sunday, January 27, by 7:00 am Lab 1: HTML and CSS n/a
Saturday, February 2, by 7:00 am
Sunday, February 10, by 7:00 am
Lab 2: Web Applications I
Lab 2a: Web Applications II
CS320_Lab02.zip, CS320_Jetty9.zip
Friday, March 1 (in-class) Lab 3: Git  
Wednesday, March 13, by 7:00 am Lab 4: SQL, Queries, Joins CS320_Lab04.zip, CS320_Derby.zip
Saturday, March 16, by 7:00 am Lab 5: JDBC CS320_Lab05.zip
Saturday, March 23, by 7:00 am Lab 6: ORM CS320_Lab06.zip

All of the above labs, with the exception of Lab03 (Git Lab) are to be completed individually. I encourage you to discuss high level concepts and strategies with other students, but any work you submit must be yours alone.

Because these labs are essential for working towards and demonstrating the capability to provide a significant technical contribution to your team project, as well the achievement of the course outcomes, you must solve them on your own. You may discuss the problem and high-level (pseudo-code) approaches to solving the problem with other students. You may not, under any circumstances, discuss or share concrete implementation techniques or code. Examples of forbidden types of collaboration include, but are not limited to: looking at another student’s code, allowing another student to see your code, viewing and/or using code from an external source such as a web page, discussing the use of specific API functions to solve a problem, giving or receiving help debugging specific code.

Direct copying of code or other work from other students, web sites, or other sources is absolutely forbidden under any circumstances.

Any sources (books, websites, articles, fellow students, etc.) that you consult in completing an assignment must be properly acknowledged. In general, I strongly discourage you from using any resource not explicitly listed in the course syllabus or on the course web page. When you work on a programming assignment, it must be your program, not your adaptation of someone else’s program.

Any violation of the course’s academic integrity policy will be referred to the Dean of Academic Affairs, and could have consequences ranging from a 0 on an assignment to dismissal from the college.

Late labs will be marked down 10% per day late. No credit will be given for assignments that are more than two (2) days late. However, you must still submit a good faith attempt for each lab. Failure to do so is grounds for receiving a reduced course grade. You will be penalized 5% points off your course grade for each lab for which you do not submit a good faith attempt by Sunday, March 31, 2019.

With regards to Lab06 (ORM) - it is the most important lab in this course. Each year, I provide a basic website example built from Lab02 (Web Applications) and Lab06 (ORM) called The LibraryExample. I will do this again this year on Monday, April 1, 2019 (2 weeks after Lab06 is due). You will receive an Academic Integrity Violation, as well as automatically fail the course, if you submit code as part of your Lab06 solution that was taken from any version of the LibraryExample Project that has ever been provided as part of this course.