Skip to main content

Introductory Programming in Java (August-October 2010)


Mondays and Thursdays (9:00-12.00 & 12.45-15.00), at Ovastova. Alternated between lectures, practical, and problem solving sessions.


Sergei Vorobyov, full professor of Information and Communication Technology, resident at Ovastova, reachable by sergeiv AT setur DOT fo.


The following one will be used:

  • H. & P. Deitel. Java: How to Program. Early Objects Version, 8th edition, 2010, ISBN 0136053068. See

Other Sources

The following Java sources are useful and will be used:

  1. The Java Tutorial from (also exists in book form; see
  2. Lowe. Java All-in-One Desk Reference for Dummies
  3. Eckel. Thinking in Java
  4. Nielsen.  A Concise and Practical Introduction to Programming Algorithms in Java
  5. Liang. Introduction to Java Programming

Useful Web Resources

Bookmark and frequently visit the following:

  3. (this is an interactive web site used for the purposes of our course)

Teaching Schedule

DateTopics coveredHomeworkExtra assignment
Mon23 AugDeitel Ch 2Deitel Ch 1, 2, install putty, xming, make them operationalAlternatively install Linux
Thu26 AugDeitel Ch 3Deitel Ch 3, Ch 4Deitel Ch 5, pro-problem-03.txt
Mon30 Aug

Deitel Ch 4-5, Two Biggest in an Array, Search in an Unordered Array, Binary Search in a Sorted Array, Generating Pythagorean Triangles, see .../pub/u1097/*.java

Deitel Ch 6-7, .../pub/ex-01.txt


Thu2 SepAlways check! Deitel Ch 6-7. Binary search, Insertion Sort, MergeSort, Generating Primes, .../pub/ex-*.txtDeitel Ch 8-9Study and improve programs in
Mon6 SepDeitel Ch 8-9. Case studies. Factorial, Fibonacchi, recursive and iterative solutions, experiments, comparisons, translation. Card shuffling, random permitations (wrong in Deitel and correct), random simulation for the game of craps and fair generation of random permutations. 0/1 sequence generation, binary addition, subsets generation, recursive generation of 0/1 sequencesFinish binary addition, study and understand programs seen so farLearn about array partition and Quick Sort in ex-04-qsort.pdf, try to implement
Thu9 SepFurther case studies: set-theoretic operations, binary multiplication, fast exponentiation,  Partition, QuickSort, classes Array, ArrayList, BigInteger ... See Schedule-100909.txtExercises in the end of Schedule-100909.txtExercises in Ch 2, 3, 4, 5
Mon13 SepSee Schedule-100913.txt. Stacks implemented using arrays and lists. Brackets analysis. Bounded circular queues using arraysSee Schedule-100913.txt,.../pub/news.htmlRevise, study, comment, improve programs we wrote so far .../pub/u1097/*.java.html
Thu16 SepSchedule-100916.txt. Developing class for rationals and rational arithmetic operations. Euclid's Greatest Common Divisor algorithm. Singly Linked Lists. Classes,, implementing constructors and methods. traversing SLLs haead-to-tail and tail-to-head. Comparing two implementations, analysis and experimentation.  

Deitel Ch 6-8 revision.

Further exercises from .../pub/exercises/ex-buffer.txt, on lists and trees
Mon20 SepSchedule-100920.txt, Deitel Ch 6-8, further list operations implementation, queues. Trees data type creation. Binary Search Trees, search, traversal, other methodsCarefully study Singly Linked Lists (SLL) and BinarySearchTrees. Implement deletetion of a given element from a list (sorted and/or unsorted) Exam-type problem: count the number of occurrences of a given element in a BST. Assume a BST contains duplicates (left subtree contains elements <= the root node, right subtree > node)
Thu23 SepList deletions, from sorted and unsorted (SLL/), queues as lists and arrays, Stacks/ as lists and arrays, interfaces, BinarySearchTrees, see pub/news.htmlHomework: exercises in the end of BinarySearchTrees/Tree.javasee pub/news.html
Mon27 Sep

Thu30 Sep

Mon4 Oct

Thu7 Oct(last session)


Fri22 OctFinal Exam: any documents,  computers permitted, but no  Internet  allowed; 4-hours problem solving interaction-free session, on computers.

Success evaluation criteria

Four-hour written examination. Reference material permitted. Internet and other communication means forbidden. The existing grade scale will be used. Compulsory assignments count toward success score.