CSc 1302, Principles of Computer Science II - (Fall 2021)

Instructional Staff

Instructor: Raj Sunderraman; Room 629, 1 Park Place; raj@gsu.edu; Office hours: TBA

Course Details

Lab Syllabus
Piazza Website (self sign-in)
Project Description
Project Submission Instructions
Chapter 10 (Reges-Stepp) - ArrayList
Chapter 11 (Reges-Stepp) - Java Collection Framework
ANTLR Parser Generator (Arithmetic Expressions Example)
Another database along with Relational Algebra Queries

Phase 2: Relational Algebra Query Interpreter

phase2
semanticCheckAndSetSchemaAndDataTypes, setRelationNames, and evaluate
DUE: December 5th, 2021 (handin RANode.java under 10)

Weekly Materials

PHASE II

WEEK 14 (3 December 2021)

Description
evaluate (Database db)
DUE: December 5, 2021 - Sunday (handin Entire Project under 14)
Phase 1: Database.java, Relation.java, Tuple.java
Phase 2: RA.g4, Condition.java, RANode.java, RA.java

WEEK 13 (19 November 2021)

Description
semanticCheckAndSetSchemaAndDataTypes(Database db): cases: "rename", "project", and "select"
DUE: November 26, 2021 - Sunday (handin RANode.java under 13)

WEEK 12 (12 November 2021)

Description
semanticCheckAndSetSchemaAndDataTypes(Database db): cases: "times", "join"
DUE: November 19, 2021 - Sunday (handin RANode.java under 12)

WEEK 11 (5 November 2021)

Description
semanticCheckAndSetSchemaAndDataTypes(Database db): cases: "relation", "union", "minus", and "intersect"
DUE: November 14, 2021 - Sunday (handin RANode.java under 11)

WEEK 10 (29 October 2021)

Description
setRelationNames(AtomicInteger globalInt)
DUE: November 7, 2021 - Sunday (handin RANode.java under 10)

PHASE I

WEEK 9 (22 October 2021)

Description
Software Testing; Query1.java, Query2.java, Query3.java, and Query6.java are available at here
DUE: October 31, 2021 - Sunday (handin Query1.java, ..., Query7.java under 9)

WEEK 8 (15 October 2021)

Description
Join Operator
DUE: October 24, 2021 - Sunday (handin Tuple.java and Relation.java under 8)

WEEK 7 (8 October 2021)

Description
Select Operator
DUE: October 17, 2021 - Sunday (handin Tuple.java and Relation.java under 7)

WEEK 6 (1 October 2021)

Description
Project Operator
DUE: October 10, 2021 - Sunday (handin Tuple.java and Relation.java under 6)

WEEK 5 (24 September 2021)

Description
Tuple Concatenate, Rename and Times Operators
DUE: October 3, 2021 - Sunday (handin Tuple.java and Relation.java under 5)

WEEK 4 (17 September 2021)

Description
Clone tuple; Check membership of tuple in relation; and the Union, Intersect, and Minus Operators
DUE: September 26, 2021 - Sunday (handin Tuple.java and Relation.java under 4)

WEEK 3 (10 September 2021)

Description
initialize database method - in class work.
DUE: September 12, 2021 - Sunday (handin Database.java under 2)

WEEK 2 (3 September 2021)

Description
Load database from files, compare Tuples, and remove duplicate tuples in relation.
DUE: September 12, 2021 - Sunday (handin under 2)

WEEK 1 (27 August 2021)

Description
Initial Setup code in Database.java, Relation.java, and Tuple.java
DUE: September 5, 2021 - Sunday (handin under 1)