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.
   5   6   7   8   9   10   11   12   13   14   15