|
|
|
|
The course examination will be held
Wednesday, June 20, 9:00am-12:00 noon
in Walter Light Hall room 210Topics covered: Contents of all lectures up to and including Lecture 9, and the related material in the corresponding textbook chapters. Lectures are the primary study source.
**NEW** Course Summary and Study Guide for the Exam
Download (PDF)Form of the examination: Similar to midterm test, plus write one or two small programs to solve some smple problems. Note that there has been no assignment involving searching, sorting, records, objects, or classes, so there will certainly be questions about those things on the examination.
Prof. J.R. Cordy
Voice: +1 (613) 533 6054
FAX: +1 (613) 533 6513
Email: cordy@cs.queensu.caT.A. Jeffrey Shell
Email: 7jss@qlink.queensu.ca
Lectures
Monday & Wednesday, 09:30-12:30
Goodwin Hall, Room 254Laboratories
There are no scheduled labs in this section of CISC 101. Assignments are to be done independently.
Tutorials
TBA
Goodwin Hall, Room 254Textbook
Hume & Stephenson, Introduction to Programming in Java
Week 1
Lecture 1
Computers and Programming
Download (PDF)
Introduction. History and structure of computers. (Ch. 1)
What is programming? Computer languages. (Ch. 3)Lecture 2
Beginning with Java
Download (PDF)
What is Java? The minimal program. Expressions. Output. (Ch. 4)
The Ready programming environment. (Ch. 2)Week 2
Lecture 3
Basic Concepts of Programming
Download (PDF)
Variables and assignment. Reassignment. Type conversion. (Ch. 5)
Program input. Input files, output files. Creating and editing files. (Ch. 6)Lecture 4
Control Structures
Download (PDF)
For loops, while loops, do loops. Flow charts.
If statements. If-then-else. Else if. Break statements. Switch statements. (Ch. 7)Week 3
Lecture 5
Strings and Arrays
Download (PDF)
Text strings. Operations on strings. Comparing strings.
Searching in strings. Text processing. (Ch. 8)
Arrays. Allocating arrays. Array representation (pointer to storage).
Elements and indexing. Array processing. Databases. (Ch. 13.1 - 13.4)Week 4
Lecture 6, Part 1
Subprograms (presented by R. Linley)
Download (PDF)
Subprograms (methods). Function (expression) methods.
Parameters and arguments. Result values. Strings as parameters and results. (Ch. 9)TestSquare.java (Example)
TestIndexOf.java (Example)Lecture 6, Part 2
Subprograms II (presented by R. Linley)
Download (PDF)
Procedure (statement) methods. Global (static) variables.
Scope of global, local and parameter variables. Recursion. (Ch. 9)TestShowMenu.java (Example)
KindsOfScope.java (Example)
DuplicateVarNames.java (Example)
TestArguments.java (Example)
TestIntSums.java (Example)
TestReverse.java (Example)
TestPrintRev.java (Example)Week 5
(Class cancelled)
(Class cancelled due to illness)
Midterm Test
Midterm Test
Integrate.java (Jeff's example from tutorial)
All material to end of Lecture 5.
Week 6
Lecture 7
Searching and Sorting
Download (PDF)
Efficiency, big "O" notation.
Searching. Linear, binary and direct searches. Efficiency of searches.
Sorting. Insertion sort, selection sort, bubble sort.
Merges, merge sort, quicksort. Efficiency of sorts. (Ch.16, algorithms only)Lecture 8
Records and Classes
Download (PDF)
Records. Objects. Classes and encapsulation.
PhoneRecords.java (Example program)
PhoneObjects.java (Example program)
PhoneEntry.java (Example class, used by PhoneObjects.java)Week 7
Lecture 9
Overflow and Review
Material remaining from previous lectures.
Summary and review of material for exam preparation.
Assignment 0
Edit and Run a Program
Download (PDF)
Grading Criteria
Guidelines for Submitting an Assignment
Download (PDF)
Assignment 1
Credit Card Billing
Download (PDF)
Answers to Questions about Assignment 1 (by TA Jeff Shell)
Assignment 2
Catch the Crook
Download (PDF)
Answers to Questions about Assignment 2 (by TA Jeff Shell)
Assignment 3
Grand Theatre Booking
Download (PDF)
Answers to Questions about Assignment 3 (by TA Jeff Shell)
History of Computing
Programming Languages
Artificial Intelligence