Page 10 - computer science (868) class 11
P. 10
float, char etc.) from the standard input stream. Similarly, the Printer class handles output. Only basic input
and output using these classes should be covered.
Discuss the concept of a token (a delimited continuous stream of characters that is meaningful in the
application program – e.g. words in a sentence where the delimiter is the blank character). This naturally
leads to the idea of delimiters and in particular whitespace and user defined characters as delimiters. As an
example show how the StringTokenizer class allows one to extract a sequence of tokens from a string with
user defined delimiters.
11. Recursion
Concept of recursion, simple recursive methods (e.g. factorial, GCD, binary search, conversion of
representations of numbers between different bases).
Many problems can be solved very elegantly by observing that the solution can be composed of
solutions to ‘smaller’ versions of the same problem with the base version having a known simple solution.
Recursion can be initially motivated by using recursive equations to define certain methods. These
definitions are fairly obvious and are easy to understand. The definitions can be directly converted to a
program. Emphasize that any recursion must have a base case. Otherwise, the computation can go into an
infinite loop.
12. Implementation of algorithms to solve problems
The students are required to do lab assignments in the computer lab concurrently with the lectures.
Programming assignments should be done such that each major topic is covered in at least one assignment.
Assignment problems should be designed so that they are sufficiently challenging and make the student
do algorithm design, address correctness issues, implement and execute the algorithm in Java and debug
where necessary.
Self-explanatory.
13. Trends in computing and ethical issues
(a) Artificial Intelligence, Internet of Things, Virtual Reality and Augmented Reality.
Brief understanding of the above and their impact on Society.
(b) Cyber Security, privacy, netiquette, spam, phishing.
Brief understanding of the above.
(c) Intellectual property, Software copyright and patents and Free Software Foundation.
Intellectual property and corresponding laws and rights, software as intellectual property.
Software copyright and patents and the difference between the two; trademarks; software licensing and
piracy, Free Software Foundation and its position on software, Open Source Software, various types
of licensing (e.g. GPL, BSD).
Social impact and ethical issues should be discussed and debated in class. The important thing is for
students to realise that these are complex issues and there are multiple points of view on many of them
and there is no single ‘correct’ or ‘right’ view.

