Teaching

CSC301/ CPE425/SC433 : Programming Languages

Sem. : Aug 2008 - Nov. 2008 (current)

 Venue (for Aug 08 sem): LT2A:  Mon 12.30-1330 noon, Tues 12.30-13.30 noon, Fri 1530-1730 pm
S
ample questions on TYPES, Progmg Languages, Functional Pgmg Logic Programming,

Teaching

Major Topics (as listed in Syllabus):
LANGUAGES and SPECIFICATION
: Role of programming language in Software Development. Describing syntax and semantics.
PROGRAMMING PARADIGMS: Comparison of language paradigms: Object-Oriented, Functional and Logic Programming.
PROGRAMMING CONSTRUCTS: Data and control abstractions. Data types. Type checking. Scoping. Exception handling. Concurrency. Language translation. Virtual machine. Program correctness. Programming in the large.  

Tut 2 and Tut 3 contain Long pseudo-codes: hence you can find its copy here. Tut 4

 

CSC106/ SC 109 : Discrete Mathematics

Sem. : Aug. 2008 - Nov. 2008 (also Aug 2006-Nov 2006, Jan 2006 - Apr. 2006, July 05-Nov 05, Jan 2005 - Apr. 2005)
 Venue: TR19

Teaching

This subject introduces the basic concepts of logic, set theory, functions, relations and graph theory. The main focus is on understanding the concepts in formal terms and theoretical results. It also attempts to introduce various proof techniques.

CSC404/ CPE408 : Compiler Techniques (old course code SC405)

Sem. : Jan 2008 - Apr. 2008

Venue: LT8: Tues 1.30-2.30pm; LT19A: Wed 11.30-1230 noon;  LT19A: Fri 10.30-1230 noon Sample questions on Compiler Techniques,    Optimizing CompilersMIPS Instruction Set

Taught


Plan of the lectures ( with links to video lectures )  COURSE REVIEW (old: Apr 2007) SLIDES

Topic 0: Course Introduction

            Topic 0.1 :  Course Introduction    (~37 slides) L1: 08 Jan 2008: Tues 13.30-1430 noon

            Topic 0.2 :  Bird's Eye-view (~45 slides / 29 main slides)  L2: 09 Jan 2008: Wed 11.30-1230 noon   also part in: L3 & L4: Friday, 11th Jan 1008 : 1030 am - 1230 noon    L8: Friday, 18th Jan 2008 : 1140-1230 noon

Topic 1: Lexical Analysis

Topic 1.1 :   Lexical Analysis : Introduction  (~25 slides) L3 & L4: Friday, 11th Jan 1008 : 1030 am - 1230 noon

Topic 1.2 :   Formal Languages & Automata (~40 slides)  L5: 15 Jan 2008: Tues 13.30-1430 (slides 1-22)  L6: 16 Jan 2008: Wed 11.30-1230 (slides 23-40 + Topic 1.3: slides 1-19

Topic 1.3 : Deterministic Finite Automata (DFA) & Regular Languages (RL)  (~69 slides) L7: Friday, 18th Jan 2008 : 1030-1135 noon: slides 20-67   (L8 is tut 1)  L9: Tuesday, 22nd Jan 2008 : 1330-1430 noon: slides 65-69 + Topic 1.4: Slides 1-49  L12: Friday, 25th Jan 2008 : 1135-1230 noon:

Topic 1.4 :  Nondeterministic Finite Automata (NFA), Equivalence of DFA and NFAs (~133 slides)  L9: Tuesday, 22nd Jan 2008 : 1330-1430 noon: Slides 1-49  L10: Wednesday, 23rd Jan 2008 : 1130-1230 noon: slides 50-85 L11: Friday, 25th Jan 2008 : 1030-1130 noon: slides 86-127 + Topic 1.5: Slides1-10  (L12 is tut 2; topic: DFA)

Topic 1.5 :  Regular Languages (RLs) and Regular Expressions  (~57 slides) L11: Friday, 25th Jan 2008 : 1030-1130 noon: slides 86-127 + Topic 1.5: Slides1-10  (L12 is tut 2; topic: DFA)   L13: Tuesday, 29th Jan 2008 : 1330-1430 a/n: slides 11-25   L14: Wednesday, 30th Jan 2008 : 1130-1230 noon: slides 25-57 & Topic 1.6: slides 1-4.          

 Topic 1.6 :  DFA Minimization  (~37 slides) L14: Wednesday, 30th Jan 2008 : 1130-1230 noon: Topic 1.5: slides 25-57 & Topic 1.6: slides 1-4.  L15: Friday, 01st Feb 2008 : 1030-1245 noon: Topic 1.6: slides 5-37 (End of topic 1.6). 

(Tut 3:) L16: Friday, 01st Feb. 2008: 1200-1330 noon

 

Topic 2: Syntax Analysis

Topic 2.1 :  Grammars – Introduction, (~52 slides) L17:Tuesday, 05th Feb 2008:1330-1430 a/n:Topic 2.1: slides 1-36 L18: Wednesday, 06th Feb 2008: 1130-1230 noon: Slides 37-52 (end of Topic 2.1) no link received (not recorded?)

Topic 2.2 :  Derivation Trees, Ambiguity and Parsing    (~75 slides) L19:Tuesday, 12th Feb 2008:1330-1430 a/n:Topic 2.2: slides 1-40. L20:Wednesday, 13th Feb 2008:1130-1230 noon:Topic 2.2: slides 41-78. (End of topic 2.2).

Topic 2.3 :Top-down Parsing  (~53 slides) L21:Friday, 15th Feb 2008:1030-1130 noon:Topic 2.3: slides 1-22. L22:Friday, 15th Feb 2008:1130-1230 noon,   L23:Tuesday, 19th Feb 2008:1330-1430 : Topic 2.3: slides 22-45. L24:Wednesday, 20th Feb 2008:1130-1230 : Topic 2.3: slides 46-53 (End of Topic) + Topic 2.4: Slides1-11.

Topic 2.4 : Bottom-up Parsing, Parser Generators, and LR Parsing  (~103 slides) L25:Friday, 22nd Feb 2008:1030-1130 : Topic 2.3: slides 12-39 L26:Friday, 22nd Feb 2008:1135-1230 : Tut 5 solutions: single slide,  6 slides /page)

( L27: Friday, 23rd Feb., 1135 am -1230 noon ) TEST Questions (07 Mar 08)

Topic 3: Semantic Analysis (& related Topics)

Topic 3.1 : Syntax Directed Translation (~70 slides)    

Topic 3.2 :  Semantic Analysis -I : Scope, and Intro. to Types  (~52 slides)   Type Systems for Multithreaded Software (research lecture)

Topic 3.3 :  Semantic Analysis -II :  Types with Environments  (~42 slides)   Dependent Types for Safe Systems Software (:DEPUTY)

Topic 3.4 :  Runtime Organization (~45 slides)

(Tut 7:) L31: Friday, 9th Mar., 1135 am -1230 noon

Topic 4: Back End Synthesis

Topic 4.1 : (Stack Machine Architecture and) Code Generation (~27 slides)   

Topic 4.2 :  Intermediate Code and Local Optimization (~42 slides)

Topic 4.3 :  Global Optimization (~64  slides)

Topic 4.4 :  Register Allocation (~37 slides)
Framework for Unrestricted Program Optimization (Microsoft Research video lecture) by

 L35: Friday, 16Mar., 1135 am -1230 noon

 

Note (dated 19 Jan 2008  :: : the book by David Galles: Modern Compiler Design is now available in NTU Library (3 copies available in red-spot section). Also Second Edition of Aho, Lam, Sethi, Ullman is available (1 copy in red-spot section; 1 copy for general issue).

 

Copy of lab manual (for Jan08-Apr08 Sem):  The lab component would be use of Java-based compiler tools.  These tools include topdown parser JavaCC, and constructors for bottom-up parser CUP.  The book David Galles, Modern Compiler Design,  Addison-Wesley, (2005)  would be useful specially for this lab component as it gives step-by-step instructions of the use of (some of) these softwares.  (Additional information for older (C-based) tools is on the website http://www.cs.usfca.edu/galles/compilerdesign/cimplementation.pdf ).

 

 

 

CSC301/ CPE425/SC433 : Programming Languages

Sem. : Aug 2007 - Nov. 2007 (current)

 Venue (for Aug 07 sem): LT2A:  Mon 12.30-1330 noon, Tues 12.30-13.30 noon, Fri 1530-1730 pm
S
ample questions on TYPES, Progmg Languages, Functional Pgmg Logic Programming,

Taught

Major Topics (as listed in Syllabus):
LANGUAGES and SPECIFICATION
: Role of programming language in Software Development. Describing syntax and semantics.
PROGRAMMING PARADIGMS: Comparison of language paradigms: Object-Oriented, Functional and Logic Programming.
PROGRAMMING CONSTRUCTS: Data and control abstractions. Data types. Type checking. Scoping. Exception handling. Concurrency. Language translation. Virtual machine. Program correctness. Programming in the large.  

Lecture Materials Organization

PART 1: PLs: Introduction and Specification  Simon Peyton-Jones: Towards a Programming Language Nirvana

        Topic 0: Programming Languages: Introduction: L1: 06 Aug 2007: Mon 12.30-1330 noon  

         Topic 0.2 : Birds Eye-view    (~40 slides) L2: 07 Aug 2007: Tues 12.30-1330 noon ; Also Language Evolution

        Topic 1: Programming Languages: Specification (~48 slides)  L3: 10 Aug 2007: Fri 15.30-1630  L4: 10 Aug 2007: Fri 16.30-1730 (not recorded)

PART 2: Programming Paradigms   Mike Grant, Scott's book: Programming Languages

         Topic 2: Object Oriented (OO) Paradigm  Java: Free book  C# tutorials
            Topic 2.1 :  OO Model : Basics   (~21 slides) L5: 13 Aug 2007: Mon 12.30-1330 noon
            Topic 2.2 :  C# - Basics             (~37 slides) L6: 14 Aug 2007: Tues 12.30-1330 noon  L7: 17 Aug 2007: Fri 15.30-1430 noon 
            Topic 2.3 : C# - OO Features   (~52 slides) L8: 20 Aug 2007: Mon 12.30-1330 noon  L9: 21 Aug 2007: Tues 12.30-1330 noon  L10: 24 Aug 2007: Fri 15.30-1630 a/noon
        Topic 3: Functional Programming (FP) Paradigm  LINQ  &FP  Other LINQ  link to very readable book on LISP  other book on lisp MIT Scheme book
            Topic 3.1 :  Functional Programming (FP) Model   (~18 slides) MIT Scheme Course L11: 27 Aug 2007: Mon 12.30-1330 noon 
        Topic 4: Logic Programming (LP) Paradigm Adventure in Prolog
            Topic 4.1 :  Logic Programming (LP) Model  (~24 slides) L16: 07 Sept 2007: Fri 15.30-1630 a/n  L19: 14 Sept 2007: Fri 15.30-1630 a/n

PART 3: Programming Constructs

        Topic 5: Data Structures
            Topic 5.1 :  Data Objects (~48 slides) L17: 10 Sept 2007: Mon 12.30-1330 noon   L18: 11 Sept 2007: Tues 12.30-1330 noon  
            Topic 5.2 :  Data  Types (~43 slides)   L26: 08 Oct  2007:Mon12.30-1330 noon (not recorded)
            Topic 5.3 :  Data  and Control Abstractions    (~30 slides) L27: 09 Oct  2007:Tues12.30-1330 noon
        Topic 6: Control Structures
            Topic 6.1 : Execution Units (Statements, Blocks) and Scope (~24 slides) L28: 12 Oct  2007:Tues12.30-1330 noon (not recorded!)
            Topic 6.2 : Statement Level Control Structures    (~39 slides) L29: 15 Oct  2007:Tues12.30-1330 noon
                   (Sequence, Selection, Iteration)
            Topic 6.3 :  Unit level Control: Procedures   (~44 slides) L30: 16 Oct  2007:Tues12.30-1330 noon L31: 19 Oct  2007:Friday 15.30-1630 noon
            Topic 6.4 :  Exceptions (~27 slides) L32: 29 Oct  2007:Monday 12.30-1330 noon
        Topic 7: Course Review (~24 slides) L33: 30 Oct  2007:Tuesday 12.30-1330 noon
Java - parameter passing language specs param pass by Value    tut 3-Q2&3codes 

Video lectures: (i) Programming Languages: Explanatory Activity: Robert Harper;  (ii) Progmg Lg concepts: Functional Pgmg. Logic Pgmg, & Imperative Pgmg thru Abstract State M/cs by Yuri Gurevich, (iii) Abstact Decision Procedure for Satisfiability in Recursive Decision Types: Clark Barrett (New York University)

Sample questions on:  Types, Programming in C & C++, Programming in Java, Prolog, Problem solving in ML, Foundations of Programming,   Foundations of Computer Science, Further JavaModula 2, Modula 3, Further Modula 3Common Lisp, Denotational Semantics  Specification and Verification I, Specification and Verification II, Semantics, Natural Language Processing, Topics in Concurrency

CSC404/ CPE408 : Compiler Techniques (old course code SC405)

Sem. : Jan 2007 - Apr. 2007

Venue: LT20: Tues 1.30-2.30pm; LT19A: Wed 11.30-1230 noon;  LT19A: Fri 10.30-1230 noon Sample questions on Compiler Techniques,    Optimizing CompilersMIPS Instruction Set

Taught

Compilers form the most important, as well as most complicated software ever designed.   In this course, our  emphasis is not so much on "writing yet another compiler for a toy language" but we shall expose you to the body of knowledge developed by Computer Scientists for designing the compilers.  This course is one of the "basic" courses in traditional computer science.  In the long term career of software engineer, this course should give you an "eye opener" view to exemplary approaches based on theoretical principles for clean software design of complex soft wares, and the design of efficient algorithms. Traditional applications of these techniques (in last two decades or so) are: database interfaces, document preparation and conversion, text analysis of biblical texts, corpora analysis, machine translation, typesetting chemical formulae, and chromosome recognition, etc.  Self-extracting search engines,  enabling architectures, VoiceXML (useful for the modeling of automated telephone call centers, the so called "talking heads" etc.), are a few applications in the last decade where the concepts in this course have extensively been used.

Plan of the lectures ( with links to video lectures )  COURSE REVIEW SLIDES

Topic 0: Course Introduction

            Topic 0.1 :  Course Introduction    (~30 slides) L1: 09 Jan 07: Tues 13.30-1430 noon

            Topic 0.2 :  Bird's Eye-view (~44 slides / 29 main slides)  L2: 10 Jan 07: Wed 11.30-1230 noon
      (Tutorial 1:)  L8: Friday, 19th Jan 2007 : 1130-1220 noon

Topic 1: Lexical Analysis

Topic 1.1 :   Lexical Analysis : Introduction  (~25 slides) L3 & L4: Friday, 12th Jan 1007 : 1030 am - 1230 noon

Topic 1.2 :   Formal Languages & Automata (~40 slides)

Topic 1.3 : Deterministic Finite Automata (DFA) & Regular Languages (RL)  (~64 slides) L5: 16 Jan 07: Tues 13.30-1430 noon  L6: Wednesday, 17th Jan 2007: 1130-1230 noon

Topic 1.4 :  Nondeterministic Finite Automata (NFA), Equivalence of DFA and NFAs (~128 slides)  L7: Friday, 19th Jan 1007 : 1030 am - 1130 noon  (L8 is tut 1)  L9: 23 Jan 07: Tues 13.30-1430 noon  L10-a: Wednesday, 24th Jan. 2007: 1130 am - 1205 noon

Topic 1.5 :  Regular Languages (RLs) and Regular Expressions  (~57 slides)   L10-b: Wednesday, 24th Jan. 2007: 1205 noon - 1230 noon  L11: Friday, 26th Jan 2007; 1030-1130 am    

 Topic 1.6 :  DFA Minimization  (~37 slides) L13: 30 Jan 07: Tues 13.30-1430 noon

(Tut 2:) L12: Friday, 26th January, 2007; 1130 -1230 noon
(Tut 3:) L16: Friday, 02nd Feb. 2007: 1130-1230 noon

Topic 2: Syntax Analysis

Topic 2.1 :  Grammars – Introduction, (~52 slides) (Slides 1 to 36:) L14: Wednesday, 31st Jan. 2007: 1130-1230 noon  (Slides 31 to 52:) L15: Friday, 02nd Feb. 2007: 1030-1130 a.m.

Topic 2.2 :  Derivation Trees, Ambiguity and Parsing    (~75 slides) L17: Tuesday, 06th Feb 2007: 1330-1430 noon   L18: Wednesday, 07th Feb 2007: 1130-1330 noon

Topic 2.3 :Top-down Parsing  (~53 slides) L19: Friday, 9th Feb. 2007 : 1030-1130 noon L21a: Tues 13th Feb 2007: 1330-1430 noon: First and Follow Computation
  L21b: Tues 13th Feb 2007: 1330-1430 noon: First and Follow Computation

Topic 2.4 : Bottom-up Parsing, Parser Generators, and LR Parsing  (~103 slides) L22: Wed. 14th Feb. 2007: 1130-1230 noon  L23: Friday, 16 Feb 07: 10.30-1130 a.m.  L25: Wednesday, 21st Feb 2007: 1130-1230 noon

(L20 is Tut 4: CFG and Ambiguity:  L20: Friday, 9th Feb., 1135 am -1230 noon )

(L24 is Tut 5: on LL Parsing: L24: Friday, 16 Feb 07: 11.30-1230 noon )

( L27 is Tut 6 : on LR Parsing L27: Friday, 23rd Feb., 1135 am -1230 noon )

Topic 3: Semantic Analysis (& related Topics)

Topic 3.1 : Syntax Directed Translation (~70 slides)  L26: Friday, 23rd Feb. 2007, 1035 am -1130 noon  (L27 is Tut 6 : on LR Parsing L27: Friday, 23rd Feb., 1135 am -1230 noon ) L28: Tuesday, 06th Mar 2007: 1330-1430 noon

Topic 3.2 :  Semantic Analysis -I : Scope, and Intro. to Types  (~52 slides) L29: Wednesday, 07th Mar 2007: 1130-1330 noon  Type Systems for Multithreaded Software (research lecture)

Topic 3.3 :  Semantic Analysis -II :  Types with Environments  (~42 slides) L30: Friday, 09th Mar 2007; 1030-1130 am  (L31 is Tut 7)  L32: Tuesday, 13th Mar 2007: 1330-1430 noon  Dependent Types for Safe Systems Software (:DEPUTY)

Topic 3.4 :  Runtime Organization (~45 slides) L32: Tuesday, 13th Mar 2007: 1330-1430 noon L33: Wednesday, 14th Mar 2007: 1130-1330 noon

(Tut 7:) L31: Friday, 9th Mar., 1135 am -1230 noon

Topic 4: Back End Synthesis

Topic 4.1 : (Stack Machine Architecture and) Code Generation (~27 slides)    L33: Wednesday, 14th Mar 2007: 1130-1330 noon

Topic 4.2 :  Intermediate Code and Local Optimization (~42 slides) L34: Friday, 16th Mar., 1035 am -1130 noon  (L35 is Tuts 8,9,10)

Topic 4.3 :  Global Optimization (~64  slides) L36: Tuesday, 20th Mar 2007: 1330-1430 noon
    L37: Wednesday, 21th Mar 2007: 1130-1330 noon

Topic 4.4 :  Register Allocation (~37 slides) L38: Friday, 23rd Mar 2007; 1030-1130 am
Framework for Unrestricted Program Optimization (Microsoft Research video lecture) by

(Tut 8,9 and part of Tut 10 :)  L35: Friday, 16Mar., 1135 am -1230 noon

Assignment  Submission Due (22 Mar.07, 3.30 pm - submit : (a) electronic copy (MS Word Doc file version preferred ) through edventure's "digital drop box" , and, (b) hardcopy of the report to Computing Lab 2.
Test  Scheduled in (Friday, 23rd Mar. 07, 11.30-1230 noon)
Final Examination (Friday, 27th  April 07, 9.00 am)

We shall closely follow, as the text, the famous 'The Red Dragon Book" : (1) Aho, Sethi, Ullman: Compilers: Principles, Techniques, and Tools, Prentice Hall, 2003 - Intl paperback edition. This book covers most of the main concepts covered above; however, the lecture class notes are not directly based on any single book.
For Assignment, additional (practice) materials, and information about LEX and YACC the following two books are useful: (2) Hunter: The essence of Compilers, Prentice Hall, 1999,  and, (3) Bennett, J. P. (Jeremy Peter), Introduction to compiling techniques : a first course using ANSI C, LEX, and YACC, McGraw Hill, 1996 (ISBN  007709221X).  Note that (2): Hunter gives a set of problems which serve as a good set of "revision" (also "tutorial") problems -- and the solutions for all problems are given in that book itself!

All the the above three books have been arranged in the library-2 of NTU as reference materials for this course. 


Sample questions on Compiler Techniques, MIPS Instruction Set   Optimizing Compilers Natural Language Processing,

CSC301/ CPE425/SC433 : Programming Languages

Sem. : Aug 2006 - Nov. 2006 ; Jan 07 - Apr 07

 Venue (for Jan 07 sem): LT20:  Tues 2.30-3.30 pm, LT19 Thurs 11.30-12.30 noon
S
ample questions on TYPES, Progmg Languages, Functional Pgmg Logic Programming,

Taught

 &&&&&&&&&&&********************

link to (audio + text) lectures on ALGORITHMS from Stony Brook Univ (Comp Sci deptt)

link to Microsoft Video library (contains various video lectures:  ranging from Engg & Comp Sci  Expository to Research level topics)

*********************************************************

My Book on Discrete Mathematics (published by Pearson - Prentice Hall, Singapore, Aug 2005) 
Sample questions on Discr Math,   Discrete Math I ,   Discr Math II Mathematics for Computation Logic and ProofInformation Retrieval, Information Theory and Coding, Computational Number Theory

***********************************************************   
If I ran a school, I'd give the average grade to the ones who gave me all the right answers, for being good parrots. I'd give the top grades to those who made a lot of mistakes and told me about them, and then told me what they had learned from them.
                                   - R. Buckminster Fuller
 

CSC106/ SC 109 : Discrete Mathematics

Sem. : Aug. 2006 - Nov. 2006 (also Jan 2006 - Apr. 2006, July 05-Nov 05, Jan 2005 - Apr. 2005)
Lecture Venue: LT8 (July 2006) Mon1130-1230, Tues 1230-1330, Thurs 1330-1430

Taught

This subject introduces the basic concepts of logic, set theory, functions, relations and graph theory. The main focus is on understanding the concepts in formal terms and theoretical results. It also attempts to introduce various proof techniques.

 Upon completion of the subject, the student should be able to:

 1.                  Achieve a level of mathematical maturity necessary in formulating valid logical arguments in elementary mathematical terms, and have little difficulty in verifying the validity of logical arguments.

2.                  Introduced to foundational topics essential to subsequent mastery of other topics in the Computer Engineering curriculum.

3.            Develop and apply rigors, possibly abstraction as well, in the development of solutions of problems.

Course Details

 Course Introduction and Place for Discrete Strurctures in Computer Science. (1 lecture) 

Propositional  Logic (5 lectures) and valid arguments.  Predicate Logic (4 lectures): Quantified statements, multiple quantifiers, negations, valid arguments.. 

Basic Discrete Structures: Sets (2 lectures): Basic notations, set operations, partitions, Cartesian products, power sets. Relations (3 lectures) : n-ary relations and relational Databases; Binary relations; Reflexive, transitive and Symmetric relations.  Equivalences and Partitions.  Posets and Hasse Diagrams.

Proof Techniques:  Basic Proof techniques (1 to 1.5 formal lecture + 1 to 2 additional tut/review lectures) (direct proof, indirect proof, proof by contradiction, and exhaustive proof techniques), proof of quantified statements,  and Inductive proof techniques (1 to 1.5 lecture).  

( links to video lectures for earlier offering .... )  L1: 07 Aug 06    L2: 08 Aug 06   L3: 10 Aug 06  L4: 14 Aug 06  L5: 15 Aug 06  L6: 18 Aug 06   L7: 21 Aug 06  L8: 22 Aug 06 L10:25 Aug, L11:29 Aug (no recording?)   L11: 31 Aug 06  L12: 01 Sept 06 L13: 04 Sept 06  L14: 05 Sept 06 L15:08 Sept (no recording?)  L16: 12 Sept 06  L17:14 Sept, L18:15 Sept (no recording?)

Elementary number theory (1 lecture): Prime numbers; Modulo arithmetic operations, Eular Totient function.

Functions (4 lectures): Basic concepts, one-to-one and onto functions, Inverse functions, Pigeon hole Principles, compositions.

 Graph theory (8 lectures): Basic notions, degrees, paths, subgraphs, components, representations. Eulerian and Hamiltonian circuits. Graph Isomorphism. Trees : Rooted trees, binary trees

Recursion (4 lectures): Recursively defined sequences, general recursive definitions, solving recurrence relations by iteration, second-order linear homogeneous recurrence relations with constant coefficients.

Text:  (1) Narendra S. Chaudhari, Discrete Mathematics: A concise Introduction Pearson Prentice Hall, 2005.
(2) Grimaldi, R.P. Discrete and Combinatorial Mathematics: An Applied Introduction, Fifth Edition, Pearson Education (Addison Wesley) 2004.

References:  (1) Epp SussanaDiscrete Mathematics with Applications, Third edition, Thomson learning: Brooks/Cole Pub. Co., 2004.

(2) Rosen: Discrete Mathematics and its applications, Fifth Edition Mc Graw Hill,  2003.

CPE204: Discrete Mathematics  & Algorithms

Sem. : July 2005 - Nov. 2005 Tut Venue: TR16 (July 2005)
 

Taught

This subject has two parts. The first part is roughly same as CSC106, but covered at rapid pace.  Second part is introduction to standard topics in algorithms like analysis of algorithms, big-oh notation, etc.  Recursive algorithms for standard problems like tree traversal, Towers of Hanoi, and Quicksort, Mergesort.  Analysis of sorting and searching techniques (binary search, hash search).   
Sample Questions on:  Data Structures and Algorithms, AlgorithmsComplexity, Advanced AlgorithmsAlgebraic Manipulation,
Math Methods in computation, Computational Number Theory

Old course taught

CSC106/ SC 109 : Discrete Structures  & SC304: Database Systems

Sem. : July 2004 - Nov. 2004; also Jan. 05-Apr. 05

Lecture Venue: LT8 

This subject introduces the basic concepts of logic, set theory, functions, relations and graph theory. The main focus is on understanding the concepts in formal terms and theoretical results. It also attempts to introduce various proof techniques.  

Old course taught

SC 446 / CE 437N Formal Languages, Automata, and Computability

Sem. : Jan. 2004 - Apr. 2004

Lecture Venue: LT10 ;  Sample questions on Regular Languages and Automata, Theory of Computation, Mathematics of Computation, Quantum Computing, Natural Language Processing, Math Methods in computationAI, Topics in AI, Neural Computing, Bioinformatics

 

 

 

 

   
   
Old couse Taught

SC 304 / CE 437N Database Systems

Sems. : July 2003 - Nov 2003, Jan 2003-Apr 2003, July 2002-Nov 2002, and Jan 2002-Apr 2002

Lecture Venue: LT2A ; Sample questions on Databases, Database Theory, Database Topics, Designing Interactive ApplicationsBusiness Studies, E-Commerce, Information Retrieval, Human Computer Interaction (HCI), Concurrency, Concurrent Systems, Concurrent (Distributed) Systems Applications, Distributed Systems,