06.07.2013 Views

Undergraduate Handbook - School of Computing and Informatics ...

Undergraduate Handbook - School of Computing and Informatics ...

Undergraduate Handbook - School of Computing and Informatics ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Reference Books:<br />

i. M. R. Huth <strong>and</strong> M. D. Ryan, Logic in Computer Science, Modeling <strong>and</strong> Reasoning about Systems,<br />

Cambridge University Press, 2000.<br />

ii. SWI Prolog Home Page, http://www.swi-prolog.org/<br />

CSC 2100: Data Structures <strong>and</strong> Algorithms (4 CU)<br />

Course Description: The course gives students a firm foundation <strong>of</strong> data structures <strong>and</strong> algorithms. The course<br />

trains students on systematic development <strong>and</strong> analysis <strong>of</strong> algorithms. The importance <strong>of</strong> algorithm complexity on<br />

computer performance is emphasized. Typical computational problems <strong>and</strong> their solutions/analysis are to be<br />

covered. The aims <strong>of</strong> the course are to; Make students appreciate the role <strong>of</strong> data structures <strong>and</strong> algorithms in<br />

computer Programmes; Improve students’ problem solving skills by subjecting them to step by step analysis <strong>and</strong><br />

design <strong>of</strong> computer algorithms; Introduce students to concepts Data structures; Introduce students to concepts <strong>of</strong><br />

algorithm analysis <strong>and</strong> to expose students generic algorithmic problems <strong>and</strong> apply them to other computational<br />

scenarios.<br />

Indicative Content: Complexity analysis (Big-O notation, orders <strong>of</strong> growth, worst case, average case <strong>and</strong> amortized<br />

analysis); NP-complete problems; Greedy algorithms; Dynamic programming; Design patterns for data structures;<br />

Graphical representation <strong>of</strong> optimization problems; Parallel algorithms; Sorting <strong>and</strong> searching; Divide-<strong>and</strong>-conquer<br />

algorithms; Elementary data structures; Recursive data structures (stacks, queues, linked lists, trees); Storing <strong>and</strong><br />

searching (hash tables, search trees); Graph algorithms on graphs (shortest path, spanning trees).<br />

Reference Books:<br />

i. A. V. Aho, J. D. Ullman, J. E. Hopcr<strong>of</strong>t, Data Structures <strong>and</strong> Algorithms, Addison-Wesley, 1983.<br />

ii. A. V. Aho,The Design <strong>and</strong> Analysis <strong>of</strong> Computer Algorithms, Addison-Wesley Longman, 1974.<br />

iii. T. H. Cormen, C. E. Leiserson, R. L. Rivest, <strong>and</strong> C. Stein, Introduction to Algorithms 2nd edition,<br />

McGraw Hill, 2008.<br />

CSC 2111: Database Management Systems I (3 CU)<br />

Course Description: This course is to provide students with a strong foundation in systematic approaches to design<br />

<strong>and</strong> implementing <strong>of</strong> database applications. Preliminarily, operations like requirements gathering <strong>and</strong> database<br />

planning will be covered. The course will also introduce students to developing <strong>of</strong> application programs that talk to<br />

the database. These applications may be online or <strong>of</strong>fline. The aims <strong>of</strong> the course are to: Provide a background for<br />

the evolution <strong>of</strong> database (management) systems; Provide the students with the steps one has to go through when<br />

developing good database applications; Give h<strong>and</strong> on experience <strong>and</strong> knowledge in developing database (driven)<br />

applications<br />

Indicative Content: Background to databases; Evolution <strong>of</strong> database systems; Database organization <strong>and</strong><br />

architecture; Data base models; Over view <strong>of</strong> database application development; The database development life<br />

cycle; Database design; Conceptual design; Logical design; Physical Design; Querying databases; SQL/PL SQL<br />

<strong>and</strong> Scripting.<br />

Reference Books:<br />

i. T. Connolly <strong>and</strong> C. Begg: Database Solutions, 2nd edition, 2003.<br />

CSC 2108: S<strong>of</strong>tware Engineering (4 CU)<br />

Course Description: This course introduces students to the foundations <strong>of</strong> s<strong>of</strong>tware engineering as a discipline.<br />

Students are introduced to the evolving role <strong>of</strong> s<strong>of</strong>tware engineering, especially with emphasis on s<strong>of</strong>tware<br />

engineering process <strong>and</strong> process models. Key topics covered include S<strong>of</strong>tware configuration management,<br />

Requirement analysis, S<strong>of</strong>tware Specification, Design methods, S<strong>of</strong>tware testing, S<strong>of</strong>tware project management<br />

techniques; S<strong>of</strong>tware project planning, Risk management; S<strong>of</strong>tware Quality Assurance; S<strong>of</strong>tware reuse; <strong>and</strong><br />

Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />

46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!