This seminar is part of a group of seminars with the code SP1207M organised by the Faculty of Science. They are for students in the first year of studies and give the opportunity to get some experience in presenting scientific talks to an audience. Each student has to prepare and present a talk and to provide a write-up on the talk. The URL of this webpage is

http://www.comp.nus.edu.sg/~fstephan/fms1207m.htmland please check this url for updates on the seminar.

Frank Stephan's addresses are: (1) Department of Mathematics, National University of Singapore 10 Lower Kentridge Road, S17, Singapore 119076 Primary Office: S17#07-04, Telephone +65-6516-2759 (2) School of Computing, National University of Singpore 13 Computing Drive, Computing 2 (COM2), Singapore 117590 Secondary Office: COM2#03-11, Telephone +65-6516-4246 The telefax in the main office of the Department of Mathematics is +65-67795452 The email address is fstephan@comp.nus.edu.sg; other email addresses are read less frequently, thus please use this one. |

In general, please see F. Stephan's main webpage for office hours and times available.

The text book of the seminar is

- Week 1: Monday 11 January 2016.

Basics of programming and calculating with numbers. Please see http://www.comp.nus.edu.sg/~fstephan/javascriptintroduction.html for an introduction to the programming language. Topics introduced are the basics of functions, for-loops, while-loops and conditional statements (if-statements). - Week 2: Monday 18 January 2016.

Basics of programming and calculating with numbers II. Please see http://www.comp.nus.edu.sg/~fstephan/javascriptintroduction.html for an introduction to the programming language. Topics introduced are arrays, methods to index arrays and complex numbers implemented as arrays. - Week 3: Monday 25 January 2016.

Prime numbers. Some programs on prime numbers and explanations can be found at the link http://www.comp.nus.edu.sg/~fstephan/primenumbers.html.

- Week 4: Monday 1 February 2016.

Euclid's algorithm and the Chinese remainder theorem. Sample programs and explanations are found on http://www.comp.nus.edu.sg/~fstephan/euclidremainder.html.

- Week 5: Monday 8 February 2016.

No class, Chinese New Year (Public Holiday). - Week 6: Monday 15 February 2016.

String and Boolean data types and there usage; explanations are found on http://www.comp.nus.edu.sg/~fstephan/stringboole.html.

- Week 7: Monday 29 February 2016.

Graph theory, Euler circuit and Hamiltonian circuits. Information can be found on http://www.comp.nus.edu.sg/~fstephan/eulerbridges.html.

- Week 8: Monday 7 March 2016.

Information on finite automata and regular languages can be found on http://www.comp.nus.edu.sg/~fstephan/finiteautomata.html. - Week 9: Monday 14 March 2016.

Talk 1: Neo Wei Jie, Esmond.*Sudoku: Solver's Algorithm*.

Talk 2: Adolphus Lye.*Early Computing Devices*.

Talk 3: E Chee Chau.*Life of Fermat*. - Week 10: Monday 21 March 2016.

Talk 4: Wu Jinyi.*The shortest path problem*.

Talk 5: Heng Rui Yan Ryan.*Games and Aritificial Intelligence*.

Talk 6: Liu Yen Ming.*A comparison between Javascript and Python 3.X*. - Week 11: Monday 28 March 2016.

Talk 7: Agartesh.*The computer revolution from the 1940ies to 1960ies*.

Talk 8: How Yun Kit.*Prime numbers*.

Talk 9: Serene Mah Pei Jun.*History and overview of Google.* - Week 12: Monday 4 April 2016.

Talk 10: Deon Chan.*Cryptology*.

Talk 11: Ou Da Wei.*Computational Thinking*.

Talk 12: Lexus Quek.*IBM's early computers*. - Week 13: Monday 11 April 2016.

Talk 13: Wang Mingda.*Game Theory*.

Talk 14: Shi Maolei.*The mathematics behind number systems*.

Talk 15: Timothy Low.*Replacement of human labour by machines*.

- Numbers and factors and prime numbers: Basic notions and theorems
- Graphs: Determining the components and the corresponding algorithms
- Euler Paths and Hamilton Paths in graphs
- Shortest path in directed weighted graphs
- Games played on finite graphs
- Program correctness, verification and termination (with some examples, say the algorithm of Euclid)
- Finite automata and regular sets
- Context-free languages
- Databases, relational structures and the relational calculus
- Proof methods in mathmatics
- Basics of programming in Javascript: variables, data-types, conditional statements and loops.
- How to edit Javascript programs and how to run and analyse them with the Firefox browser.
- Comparison between Javascript and some programming language of your choice.
- Spanning trees and how to compute them
- Number systems: historic outline
- The mathematics behind number systems: the base, representation of numbers, transforming numbers from one system into another, numbersystems important for computers (binary, octal, hexadecimal)
- Early computing devices: the abacus, mechanical calculators, the slide-rule
- The work of Euclid in geometry and algorithmics.
- Algorithms to find the roots of polynomials: exact roots for polynomials of degree 2,3; impossibility to express roots of polynomials of degree 5; approximations in the general case
- The limits of computation - the halting problem (formalisation of programming and its limitations)
- Computers and proofs: The four colour theorem
- Formalizing the theory of natural numbers and Goedel's incompleteness theorem; life and work of Kurt Goedel
- The history of pi: the art to compute many digits of a difficult number
- Computers and chess: from the beginnings to the time when Big Blue defeated chess champion Garry Kasparov
- Cryptography: The art of keeping secrets secret and the art of breaking other people's codes
- Blaise Pascal: a mathematician and inventor of calculating equipment
- Charles Babbage: the inventor of a computer which never became ready
- Ada Lovelace: Charle Babbage's programmer
- Hermann Hollerith: computing equipment for large statistical evaluations
- The computer revolution from the 1940ies to the 1960ies
- Modern trends in computing: personal computers, internet, mobile computing, ...
- Bill Gates: success with making software instead of hardware
- Linus Torvalds: Linux, an open source alternative to the operating system Windows
- History and overview of Google
- George Boole: laying out the theoretical foundations of binary logic
- Konrad Zuse: one of the pioneers in building the first working computers
- Srinivasa Ramanujan
- IBM's early computers
- Alan Turing: life and legacy of a great thinker
- The mathematical century
- The book
*Gödel, Escher, Bach*and Artificial Intelligence - Complexity
- Game Theory

Note that pictures on the internet have often a copyright and that it might therefore not be legal to reproduce them, in doubt omit them.

Although essays have to rely on sources, they should not be produced by copying and pasting from any other source. Cited text has to be marked with the source given and does not count for the 3000 word minimum length. Every place where text is cited has to be marked as a citation.

The NUS considers plagiarism - that is, copying text and claim that this text is own work - as a serious offence. Therefore it is better to write a non-perfect essay than to copy and paste text from the internet. Even getting the word minimum length full is not as important as to avoid plagiarism. See also the webpage on academic culture (http://emodule.nus.edu.sg/ac/launch.htm) and the section there about plagiarism.

- Alphabetic list of biographies of mathematicians: http://www-groups.dcs.st-and.ac.uk/~history/BiogIndex.html; this webpage has a large list of biographies of people working in mathematics and computer science.
- Google: http://www.google.com.sg; this is a general purpose search machine which displays links to desired webpages according to the keywords entered in the search.
- Yahoo Search: http://search.yahoo.com/; this is a general purpose search machine which displays links to desired webpages according to the keywords entered in the search.
- Wikipedia: http://en.wikipedia.org; this webpage exists also in other languages and the search is slow, Wikipedia pages are fastest found by entering the search words plus the word "Wikipedia" into Google; Wikipedia often has external links to other webpages; Wikipedia is very comprehensive, but can be edited by everyone which results occasionally in one-sided information.
- Encyclopedia Britannica: http://www.britannica.com; this is an online encyclopedia, some parts are not as comprehensive as Wikipedia, but it is written by professional editors with the goal to give precise and reliable information.
- Amazon: http://www.amazon.com; this is an online book shop displays a lot of information on books which can be bought; in the case that you want to order books, please note that this company sits in (several) foreign countries and hence postal charges are higher than displayed on the webpage, prices are given in foreign currencies and subcontractors do mostly not deliver to Singapore.