York University

CSE 1020: Introduction to COSC I

Fall 2011

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



York University

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.