CS201L - Introduction to Object-Oriented Programming(Lab)

Summer 2007

Course Instructor Dr. Jeff Gray
Email: gray@cis.uab.edu
Lab Instructors

Sriharsha Sista (sista@uab.edu)
Office Hours: Thursday 10am-12pm, CH 154B

Srilatha Poosa (srilatha@uab.edu)
Office Hours: Wednesday 10am-12pm, CH 154B

Wangwang Li (wangwang@uab.edu)
Office Hours: Friday 10am-12pm, CH 154B

Lab Sessions Section J1: Tue 8:00am-10:50am CH 430
Section J3: Tue 11:00am-1:50pm CH 430
Links Course Homepage - http://www.cis.uab.edu/cs201/summer2007/
Lab Homepage - http://www.cis.uab.edu/cs201/summer2007/lab/
Eclipse- http://www.eclipse.org/
Robocode-http://robocode.sourceforge.net/

To obtain a CIS account, complete and submit this form. (Your CIS account is different from your BlazerID account) To gain access to the undergraduate computer lab (CH 154), please see Janet Sims (CH 115)

Tentative Syllabus

Lab No. Date Description
1 June 5 Introduction to Eclipse, Compiling and running simple java programs
Powerpoint Slides for this lab.
2 June 12 Program based on Data types and Arithmetic Expressions [ Instructions ]
Related files: J02E01.java, J02E02.java, J02E03.java

Part 2: Area and Circumference of a Circle [ Instructions ]
Related files: Circle.java

Part 3: Data Storage and Its Implications [ Instructions ]
Related files: J02E06.java, J02E07.java, J02E08.java

Robocode Orientation [ Instructions]
3 June 19 Contol statements and loops [Instructions]
Related files: J03E01.java, J03E02.java, J03E03.java

Part 2: More Control Statements [ Instructions]
Related files: J03E04.java, J03E05A.java, J03E05B.java, J03E07.java, J03E08.java

Part 3: Yet More Control Statements [ Instructions ]
Related files: J03E09.java, J03E11.java

Robocode Maneuvers [ Instructions]

4 June 26 Using a Class to Create Objects

Part 1: [ instructions | solution ]
Related files: Coin.java, Runs.java [ Runs solution ], Account.java [ Account solution ], ManageAccounts.java [ ManageAccounts solution ]

Part 2: Using Objects from the Java API [ instructions ]
Related files: J05E01.java, J05E02.java, J05E03.java, J05E04.java, J05E05.java, J05E06.java, J05E07.java

5 July 3 Part 1:Nested Loops [ Instructions ]
Related files: PrimeNumbers.java, ExampleDo.java , Power.java , Factorial.java , J05E01.java, J05E02.java, J05E03.java

Part 2: If to Switch and vice-versa
Related files: J05E04.java, J05E05.java

Part 3: String Manipulation
Related files: J05E06.java, J05E07.java, J05E08.java, J05E09.java, J05E10.java

Part 4: Practice For Exam[ Instructions ]
Related file: P.java, MyClass solution

6 July 10 Lab Exam [ Instructions ]
Related file: P.java, A solution to MyClass
7 July 17

Create a Simple GUI
Part 1: Using Applets to Draw Shapes [ Instructions ]
Related files: RandomShapes.java, RandomShapes.html

Part 2: Creating Classes [ Instructions ]
Related files:J06E01.java, J06E02.java, J06E03.java, J06E04.java

Part 3: Program based on Arrays [ Instructions ]
Related files: J06E05.java, J06E06.java, J06E07.java J06E08.java J06E09.java

Arrays II [ Instructions ]
Related files: Solution

Part 4: Magic Squares [ Instructions ]
Related files: Square.java, SquareTest.java, magicData.txt, Square solution

8 July 24

Part 1: Program based on Inheritance[ Instructions ]
Related files: Person.java, Employee.java, InheritanceTest.java, Student solution

Part 2: Program based on Error handling[ Instructions ]
Related files: ScanInts.java, CountLetters.java, ScanInts solution

Part 3:Event Handling in Robocode [ Instructions]
Related files: J07E03.java

9 July 31 Final Exam [ Instructions ]
Related file: P.java, ParentClass.java, A solution to MyClass