Department of Computer Science and Engineering
Home
Online Forum
Weekly Calendar
Course Syllabus
Course Policies
Assessment
Important Links
Lectures
Test and Lab Solutions
Practice Questions
TA Hours
|
Assessment
Assessment is based equally on programming work and
written work. The programming work is assessed based
on its correctness and how well it adheres to the style
conventions. The written questions emphasize understanding
and application of concepts; students will not be required
to memorize APIs, nor will students need to write large
fragments of code on a written assignment or test.
The learning outcomes that will be evaluated on each
test are listed after the schedule.
Week |
Assigned eCheck |
Lab work |
Lab programming test |
Written test |
1 (Sep 07-13) |
|
|
|
|
2 (Sep 14-20) |
|
|
|
|
3 (Sep 21-27) |
03C 1% due Sep 27 |
|
1 5% |
|
4 (Sep 28-Oct 04) |
04C 1% due Oct 04 |
1% |
|
|
5 (Oct 05-18) |
05D 1% due Oct 18 |
1% |
|
|
6 (Oct 19-25) |
|
1% |
|
|
7 (Oct 26-Nov 01) |
|
|
2 15% |
|
8 (Nov 02-08) |
|
|
|
midterm 15% in lab |
9 (Nov 09-15) |
08C 1% due Nov 15 |
1% |
|
|
10 (Nov 16-22) |
|
1% |
|
|
11 (Nov 23-29) |
11C 1% due Nov 29 |
|
|
|
12 (Nov 30-Dec 06) |
|
|
3 20% |
|
exam (TBA) |
|
|
|
35% |
Lab programming test 1
Tests the following:
- create a small Java program in an editor
- compile a small Java program from the command line
- run a small Java program from the command line
- create primitive variables
- arithmetic with primitive variables
- casting
- input using command line arguments
- style
You will be given:
- the solution to ColourConvert from
Lab 02 in an unsubmit directory
Lab programming test 2
You will need to know each item listed for Test 1 above,
as well as:
- how to create objects
- how to read and understand APIs
- how to use public attributes (static and non-static)
- how to use public methods (static and non-static)
- how to use relational operators (<, >, <=, >=, ==, !=)
- how to use booleans and boolean operators (&&, ||, !)
- if statements
- loops
- very basic String operations (concatenation and charAt)
You will be given:
- all of your submitted lab work for Weeks 04, 05, and 06.
Written Midterm
You are responsible for the material from Weeks 01–06 (including
the textbook readings) excluding Chapter 7 of the textbook.
- Chapter 1: the notion of type; casting; scope; memory diagrams involving
primitive values; closure;
limitations of representing real numbers; how operators are evaluated
- Chapter 2: delegation; method;
abstraction; encapsulation; the client view; the idea of an API;
methods as contracts; why attributes should be private
- Chapter 3: how to read an API; methods (pass by value, overloading,
early binding); relational operators (less than, greater than, etc)
- Chapter 4: the life of an object; constructors; new; memory diagrams
involving classes and objects; object state; mutators and accessors;
static features
- Chapter 5: if statements; loops; tracing loops; the difference
between == and equals; short-circuit evaluation
- Chapter 6: how Strings are similar to primitives in Java;
how to interpret and write very simple regular expressions
Closed book.
Lab programming test 3
You will need to know each item listed for Test 1 and Test 2 above,
as well as:
- String operations
- traversal of arrays and collections using for each loop
- using APIs in inheritance hierarchies
- casting in inheritance hierarchies
- instanceof
- how to use List, Set, and Map
You will be given:
- all solutions to previous tests and labs
Written Exam
You are responsible for all of the material from Weeks 1-12, but there
will be greater emphasis on the material from Chapters 7-11.
- Chapter 1: the notion of type; casting; scope; memory diagrams involving
primitive values; closure;
limitations of representing real numbers; how operators are evaluated
- Chapter 2: delegation; method;
abstraction; encapsulation; the client view; the idea of an API;
methods as contracts; why attributes should be private
- Chapter 3: how to read an API; methods (pass by value, overloading,
early binding); relational operators (less than, greater than, etc)
- Chapter 4: the life of an object; constructors; new; memory diagrams
involving classes and objects; object state; mutators and accessors;
static features
- Chapter 5: if statements; loops; tracing loops; the difference
between == and equals; short-circuit evaluation
- Chapter 6: how Strings are similar to primitives in Java;
how to interpret and write very simple regular expressions
- Chapter 7 Section 7.2 only: testing; test harness; oracles; test vectors
(domain coverage, execution-path coverage, regression testing)
- Chapter 8: aggregation; composition; how to tell if a class is an aggregation
or a composition; copying (aliases, shallow copies, deep copies); computational
complexity
- Chapter 9: inheritance; substitutability; early and late binding; polymorphism;
abstract classes; interfaces
- Chapter 10: the differences between a List, Set, and Map
- Chapter 11: exceptions; try-catch; what happens when an exception is thrown;
difference between checked and unchecked exceptions; substitutability and
exceptions
Closed book.
|