$1000 Zales Gift Card === 1 Year Internet Service - Verizon vs. Comcast === AmericanResearchPanel: CircuitCity vs BestBuy === Bedroom Makeover === eCreditRepair === eMarketPanel Survey: Television Shows === Palm Treo === SweepsFactory.com === Valentines Day - Chocolates
Click here

.
Senior Freshman BA Syllabus

TCD Crest Senior Freshman BA
Syllabus





The syllabi are intended to give an overview of the each course - these may change if the lecturer thinks it appropriate to do so. 

2BA1 - Discrete and Continuous Mathematics

Lecturer: Dr. David Wilkins (School of Mathematics).
Duration: 3 Terms, 3 hours per week 
Prerequisites: First year course in calculus, geometry and algebra 
Aims of Course: To provide students of Computer Science and of Computer Science, Linguistics and a Language with a second course in mathematics. The wide range of ideas in the discrete structures element of the course leads to an equally rich spectrum of topics in differential equations and Fourier series. 
Contents: Discrete and algebraic structures: mathematical induction; sets, relations, maps and lattices; graphs, trees and adjacency matrices; semigroups, monoids and groups; formal grammars, languages and machines; ordinary differential equations, linear independence and Fourier methods.  
Course Work: Regular small assignments throughout the course, which will count for 10% of the total mark.
Textbooks on Discrete Structures: 
"Discrete Mathematics, an introduction for software engineers'', Mike Piff, Cambridge University Press. 
"Discrete Mathematics'', W. Barnier and Jean B. Chan, West Publishing, St. Paul, Minesota. 
"Computer Mathematics'', D. J. Cooke and H. E. Bez, Cambridge University Press. 
"Mathematical Structures for Computer Science'', Judith L. Gersting,  W.H. Freeman. 
"Discrete and Combinatorial Mathematics'', R. P. Grimaldi, Addison-Wesley. 
Textbooks on Differential Equations: 
"Elementary Differential Equations'', Earl D. Rainville and P. E. Bedient, Macmillan. 
"2500 Solved Problems in Differential Equations'', Richard Bronson, McGraw-Hill. 
"Elementary Differential Equations and Boundary Value Problems'', W. E. Boyce and R. C. DiPrima John Wiley and Sons. 
"Differential Equations'', R.K.Nagle & E.B.Saff, Addision-Wesley. 


2BA2 - Programming Techniques  

Lecturer: Dr. Hugh Gibbons 
Duration: 3 Terms, 3 lectures per week 
Hardware/Software used: ISE Eiffel on PC (Windows NT?) 
Prerequisites: Modular Programming; Discrete Mathematics: Sets, Functions, Permutations, Combinations etc; Propositional and Predicate Logic. 
Aims of Course: It is mainly about understanding how to construct programs from algorithm specifications. The aim is for the students to become very familiar with 'advanced' standard algorithms and 'sophisticated' data structures and data types. The emphasis is on developing s kills for writing reliable and readable programs. Abstract Data Types, Object-Oriented De sign, Generics, Exception Handling and Program Assertions are used to help develop these skills . 'Programming by Contract' in Eiffel is used to support the approach. 
General Contents: Introduction to Eiffel; Arrays/Matrices, Sorting/Searching, Abstract Data Types (ADTs) and Classes, Backtracking, Graph programs, Binary Search Trees, Height Balanced (AVL) Trees, Dictionary/Table ADT. 
Course Work: Through out the year the coursework will mainly involve programming projects. The course work will count for 20% of the total mark. 
Recommended Books (for reference): 
"Object Oriented Programming in Eiffel" (2nd Ed.), Thomas P. & Weedon R. [Addison-Wesley 1998]
"Object Oriented Software Construction" (2nd Edition), Meyer B., [Prentice-Hall 1997]
"Algorithms and Data Structures: Design, Correctness and Analysis" Kingston J. [Addison-Wesley 1997]
"Eiffel: The Language", Meyer, Bertrand. [Prentice-Hall 1992] -- Reference book for Eiffel 3
"Algorithms and Data Structures" Wirth N. [Prentice-Hall 1986]
Further information for this part of course:

2BA3 - Systems Programming

Lecturer: Dr. Carol O'Sullivan 
Duration: 3 terms, 3 hours per week (including labs).  
Number of Lab Hours per week: - 1 
Hardware/Software used: VC++ on PCs  (Windows98) 
Prerequisites: Object Oriented programming skills from first year. 
Aims of Course: To give an understanding of how to use the facilities which are provided by the underlying operating system, and to build on first year Object Oriented programming skills. The course also introduces the area of concurrency and aims to teach how to make use of concurrent processes and
threads, and how to deal with the problems which arise when writing concurrent programs. 
Contents: The C++ programming language: Overview, Classes, Functions, Arrays, Pointers, References, Dynamic Allocation, Inheritance, Virtual Functions and Polymorphism. Overview of the Windows family of operating systems, Event-driven and Windows programming, The Win32API, Overview of foundation classes, Generation and control of processes and threads, Interprocess communication. Introduction to Concurrency.
CourseWork: Regular small assignments on all aspects of the course, together with two larger assignments. 
Textbooks used (for reference): 
"C++ How to Program", H.M. Deitel &P.J. Deitel, Prentice-Hall 1994 (500.16424 N48). 
"MFC Programming from the Ground Up",  H.Schildt. 
Further information for this part of course

:

2BA4 Computer Architecture and Microprocessor Systems

Semester I - Microprocessor Systems  
Lecturer: Michael Manzke 
Duration: 1 Semester, 3 hours per week. 
Hardware/Software used: asm68k cross assembler; SPRINT EPROM & PAL programmer M68008 project kits 
Prerequisites: Digital Logic; 68000 Assembly Language Programming. 
Aims of Course: It is mainly a hardware design and construction course. The aim is for the students to design and build a working microprocessor system from IC components. The course describes how such components are brought together to produce a functioning system, and illustrates the sort of low-level software necessary to support the hardware for basic I/O and monitor services. 
Contents: Intro to 68008; Clock and Reset Circuitry; Memory Map Design; Serial I/O Design; Exceptions and Interrupts; Monitor Design. 
Course Work: working in groups of 4, a working microprocessor system is designed and built. A basic monitor is also produced. 
Textbook used: any 68000 text - example: "The Motorola MC68000."; Jean Bacon. S-LEN 500.164044 M6. 

Semester II - Computer Architecture  
Lecturer: Michael Manzke 
Duration: 1 Semester, 3 hours per week. 
Hardware/Software used: Circuitmaker - electronic circuit simulator. 
Prerequisites: 1BA4
Aims of Course: To a) learn register-transfer specification and design, b) learn the fundamentals of an instruction processor 
Course Work: Two projects using Circuitmaker to simulate and test their design - 1. A processor unit (alu + shifter + fast registers) design and simulation, 2. An instruction processor design and simulation. 
Contents: Register transfer definition, micro-operations, bus transfers, ALU design, shifter design, hardwired control design, microprogrammed processor control, design of an instruction processor. 
Textbook used: "Logic and Computer Design Fundamentals", M. Mano & C. R. Kime, Prentice Hall 1997.

2BA5 - Digital Electronics

Lecturers: Alan Moore (Electronic and Electrical Engineering Department).
Duration: 3 terms, 3 hours per week.
Number of Lab Hours per week: 12 Laboratory Hours per student per year
Hardware/Software used: SPICE circuit simulator.
Prerequisites:
1BA1 and 1BA5
In particular - Elementary electrical network analysis, ordinary differential equations with constant coefficients. An appreciation of the relevance of digital electronics to computer science.
Aims of Course: (i) To provide a good grounding in the principles of operation of semiconductor devices and circuits and to make the texts in this area accessible to the student.
(ii) To make the student aware of the practical issues involved in using electronic circuits and systems. For example, propagation delay, switching speed limitations, pulse propagation along transmission lines, characteristic impedance, noise, power supply regulation, the relative merits of the different logic families, power dissipation etc.
Contents: Semiconductor Devices, Digital Electronics, Applications, Practical Issues in Electronic Circuit Design.
Course Work: Some written assignments. A one hour test after Christmas. 6 Laboratory Reports. A Project in Trinity Term.
Textbooks:

Reference textbooks for semiconductor devices (Michaelmas term)
"Micro-Electronic Devices", K. Leaver, Longman
"Device Electronics for Integrated Circuits", R.Muller and T.Kamins, Wiley

Textbooks for Digital Electronics (Hilary & Trinity terms)
"Microelectronic Circuits", A.S. Sedra and K.C. Smith (Part 3) Saunders College Publishing.
"Digital Integrated Circuits", T. A. DeMassa and Z. Ciccone , Wiley

Further information for this part of course
:

2BA6 - Computers and Society

Lecturer: Dr. Mícheál Mac an Airchinningh
Duration: 3 terms, 1 hour per week. 
Prerequisites: 1BA6. The student is expected to possess a certain degree of intellectual maturity and to have the curiosity and the desire to understand the profound relationships between "language" and "machine". 
Aims of the semester: Computer Science, like other sciences, is subject to Kuhnian paradigms, embraces and embodies philosophies which are often unarticulated, and has an impact on society which transends mere technological innovation. The course shall enable and facilitate the student in coming to grips with that subject, computer science taken in its general sense, which will surely be dominant in the next millenium. 
Course Work: The student shall submit three pieces of work which, for convenience, are here called essays. The nature of the work shall be determined by the lecturer. 
Contents: The philosophy of language and machine: works such as those of Aristotle, Wittgenstein, Heidegger, etc., are examined. The scientific paradigm: Kuhn's "The Structure of Scientific Revolutions" and "The Essential Tension". The nature of reality: the study of theory, model, and experiment. 

2BA7 - Programming Project

Lecturer: Declan O'Sullivan 
Duration:1 Lab session per week in the 2nd semester. 
Hardware/Software used: Borland C++ 
Prerequisites: Intro Programming, C++ programming skills;. 
Aims of Course: Through participation in a team software engineering project students will develop their C++ programming skills, team working skills and presentation skills. They will also develop an understanding of an engineering project life cycle. 
General Contents: Project teams will be created. The teams will be asked to produce a "software product" for a client within the Computer Science Department. Initially students will be give given guidance on software design, work distribution and project planning but decisions are the responsibility of the team. Lab sessions will cover the C++ structures useful for the project and will provide an opportunity for students to seek assistance on particular problems. 
Assessment Work: Assessment for this course will be a combination of the technical quality of the final system, a presentation of the final working system, quality of teamwork, a team report, as well as a report per individual.
Recommended Books: 
"C++ How to Program", H.M. Deitel & P.J. Deitel, Prentice-Hall 1994 (500.16424 N48). 
"The Annotated C++ Reference Manual", Margaret Ellis & Bjarne Stroustrop, Addison-Wesley, 1990 (500.16424 N09998). 


Last modified: 26-Sep-2002 by Donal.OMahony