![]() | |||||||||||||||||||||||||||||||||||||||||||||||
| A PDF version of the 2004-2005 Academic Calendar is available here. | |||||||||||||||||||||||||||||||||||||||||||||||
1. Welcome to Mount Allison University Glossary of Academic Terms 3.1. Contact Information 4.1. Fees and Expenses 5.1. Scholarships 6.1. Registration Procedures 7.1. General Regulations 8.1. Evening Credit Programme American Studies 10.1. The Student Union 11.1. The Mount Allison University Libraries and Archives 12.1. Officers of the University | The study of computing ranges from hands-on applications to pure theory, and includes the analysis of algorithms, the study of computer architectures, compilers and operating systems, networks, and software engineering. Our goal is to introduce students to all facets of the discipline, and to give them an appreciation of the historical, ethical, and social context of computing, and the responsibility of the computer professional and casual computer user in a modern society. The Department offers a broad variety of courses and programs in Computer Science. Introductory courses may teach programming and theories of computing or offer a general overview of the use and application of popular microcomputer software; more advanced courses deal with topics ranging from artificial intelligence and the role of computers in society to the design and implementation of advanced hardware or software systems. All courses in the computing curriculum offer a blend of theory and practical application, with many of the offerings having a significant project component in which students are given the opportunity to apply the classroom material to real-world problems. Courses are designed to address the needs of a wide variety of users, from the casual to the professional. Some students may enrol in a course to familiarize themselves with the microcomputer and application software, while others may choose to pursue a minor or a major in Computer Science. Students may choose to select Computer Science in combination with areas such as English, Economics, Philosophy, or Physics. Mount Allison has been quite successful in placing its students in graduate programs in Computer Science, while many others have found employment after graduation in one of the many computer-related fields.
* Computer Science 2211 was formerly listed as Mathematics 2211 Note: The listing of a course in the calendar is not a guarantee that the course is offered every year. Note: Students must obtain a grade of at least C- in all courses used to fulfill prerequisite requirements. Otherwise, written permission of the appropriate Department or Programme Coordinator must be obtained. COMP 1611 (3CR) An introduction to computing providing a broad survey of the discipline. Topics will be chosen from: origins of computers, data representation and storage, computer architecture, assemblers and compilers, operating systems, networks and the internet, theories of computation, artificial intelligence, and trends in internet commerce and use. Laboratory work and assignments will offer experience with the use of application software and programming. The course is designed primarily for students who want a one-semester introduction to the field and have little or no previous computing background. COMP 1711 (3CR) This course introduces the student to the techniques of algorithm development and structured programming and their implementation using a modern high-level language. The course is intended for students who wish to take further courses in Computer Science. The topics covered are: problem analysis, algorithm design, pseudocode, implementation of structured solutions, applications to both numerical and non-numerical problems. The programming concepts include: data representation, control structures, arrays and sub-programs, testing and debugging programs. Prereq: Students enrolling in COMP 1711 should normally have completed a university preparatory level course in Mathematics COMP 1721 (3CR) In the context of solving several larger problems, the techniques of topdown problem solving will be emphasized in order to further develop good programming style. Topics include: documentation, debugging and testing, string processing, internal searching and sorting, elementary data structures, recursion and algorithmic analysis. Further high-level languages may be introduced. Prereq: COMP 1711; or permission of the Department COMP 1751 (3CR) An introduction to computer systems and the FORTRAN programming language. Special attention is given to the development and implementation of algorithms for solving computational problems. Prereq: MATH 1111; or permission of the Department COMP/MATH 2211 (3CR) An introduction to the terminology and concepts of discrete mathematics, covering such topics as: sets, functions, induction, enumeration, graphs and trees, boolean algebras, semigroups and groups, and the design of algorithms. Prereq: MATH 1111; or permission of the Department COMP 2611 (3CR) Effective methods of data organization, focussing on data structures and their algorithms via abstract data types with use of recursive procedures. Design of flexible file structures and related methods e.g. indexes, system file structures, hashed access. Object oriented programming techniques are used in depth. Prereq: COMP 1721; or permission of the Department COMP 2711 (3CR) Continues the introduction to object-oriented programming begun in earlier CS courses, emphasizing further development of algorithms, data structures, software engineering, and the social context of computing. Prereq: COMP 2611; or permission of the Department COMP 2931 (3CR) This course is an introduction to programming at the systems level. Topics include: basic machine organization, assembly language, the UNIX environment, shell scripting, and C/C++ programming. Prereq: COMP 1721; or permission of the Department COMP/PHYS 3361 (3CR) This course introduces students to both digital electronic circuits and digital signal processing, and would be valuable both for those planning to go on in technical careers in computer science or in physics, and for scientists who wish to develop tools for the collection and analysis of data. Topics to be covered include digital logic gates, Boolean algebra, counting circuits, digital signal conditioning, sampling considerations such as the Nyquist criterion, analog to digital and digital to analog conversion, Fourier Transform theory and application as FFT, correlation and convolution, digital filtering using finite impulse response and infinite impulse response circuits including the ztransform and filter design, and digital image processing including two dimensional FFT techniques, microprocessors, microcontrollers and digital signal processing integrated circuits. Prereq: PHYS 2251 and PHYS 2801 and COMP 1711; or PHYS 1551 and COMP 2611 and COMP 2931; or permission of the Department COMP/MATH 3411 (3CR) This course is an introduction to numerical methods for solving a variety of problems in mathematics, the natural sciences, and engineering. Topics to be studied include numerical solution of linear and nonlinear systems of equations, Gauss elimination, pivoting strategies, numerical stability, PLU factorization, tridiagonal matrices, polynomial and cubic spline approximation and interpolation. Prereq: MATH 1121, 2221, COMP 1711; or permission of the Department COMP/MATH 3511 (3CR) Among the topics covered are linear and integer programming, the simplex and revised simplex methods, duality theory and sensitivity analysis, and various applications. Prereq: MATH 2221, 3 credits in Computer Science; or permission of the Department COMP/MATH 3531 (3CR) An introduction to the simulation technique for studying mathematical models. Specific topics to be considered include: systems theory and system models, continuous system simulation, discrete system simulation, Monte Carlo methods, random number generators, and simulation languages. Emphasis will be placed upon computer implementation of the methods studied. Prereq: MATH 1111; one of MATH 2311, 3311, PSYC 2001 and 2011; 3 credits in Computer Science; or permission of the Department COMP 3611 (3CR) The purpose of this course is to apply analysis and design techniques to nonnumeric algorithms which act on data structures. Designing efficient algorithms for internal and external sorting/merging/searching leads to notions of complexity (e.g. NP-hard problems) and to memory management techniques. Projects will involve system design of data management systems incorporating the theoretical aspects studied. Prereq: COMP 2611, COMP/MATH 2211; or permission of the Department COMP 3651 (3CR) This course introduces general problem solving methods associated with automated reasoning and simulated intelligence. Topics include: state space heuristic search theory, mechanical theorem proving, game playing, natural language processing, propositional logic, learning and cognitive models and expert systems. Prereq: COMP 2611, COMP/MATH 2211; or permission of the Department COMP 3711 (3CR) An introduction to the principles of design and implementation of procedural and functional programming languages; modular, object and logic programming. Topics include language syntax and processors and semantic models of data and control structures. Prereq: COMP 2611, 2931; or permission of the Department COMP 3811 (3CR) An introduction to major types of database systems, and experience with at least one database model. The theoretical and practical aspects of the relational model are emphasized, including database query systems and database design. Prereq: COMP 2611, 2931, COMP/MATH 2211; or permission of the Department COMP 3831 (3CR) This course introduces the principles and tools of interactive computer graphics: implementation of device drivers, 3D transformations, clipping, perspective views, input routines, user interface design, data structures, hidden lines, surface removal, colour shading and ray tracing. Prereq: COMP 2611, 2931, MATH 2221; or permission of the Department COMP 3851 (3CR) This course examines the historical development and growth of the computer and related digital technology. The impact of the computer and the digitalization of society are discussed, including ethical issues related to the modern information age. Privacy and data protection, computer crime, data theft, and legal issues in software creation and use are examined. The responsibilities of the computer professional and computer user are examined from the technical, personal, and societal perspectives. Prereq: 6 credits from the Science division, including 3 credits from Computer Science, and third or fourth-year standing; or permission of the Department COMP 3911 (3CR) This course includes the major concepts underlying the design of operating systems. Topics include: process management, scheduling, memory management, device management, system programming, security, and network structures. Prereq: COMP 2931; or permission of the Department COMP 3971 (3CR) This course provides an introduction to modern computer design and its relation to system architecture and operating system functionality. Topics include: system bus design, memory organization, I/O device access, instruction set design, RISC computers, and parallel organization. Prereq: COMP 2931, 3351; or permission of the Department COMP/MATH 4631 (3CR) This course is an introduction to theoretical aspects of Computer Science such as formal language and automata theory and complexity theory. Prereq: COMP 1721, COMP/MATH 2211; or permission of the Department COMP/MATH 4651 (3CR) This course is an introduction to cryptographic algorithms and to the cryptanalysis of these algorithms, with an emphasis on the fundamental principles of information security. Topics include: classical cryptosystems, modern block and stream ciphers, public-key ciphers, digital signatures, hash functions, key distribution and agreement. Prereq: COMP1711, 1721, COMP/MATH 2211; or permission of the Department COMP 4721 (3CR) This course includes the study of software design topics such as software life cycle, requirements specification, and quality ensurance. Software design topics such as strategies, intractable problems, concurrent systems, and data modeling are included. This course will include a large software project. Prereq: COMP 2611, 2711, 2931, 6 credits in Computer Science at the 3000/4000 level, and third or fourth-year standing; or permission of the Department COMP 4911 (3CR) An introduction to computer network applications and design. Topics will include: layered models, data transmission protocols, network topology, and security. Prereq: COMP 2611, 2931, and 3 credits from Computer Science at the 3/4000 level; or permission of the Department COMP 4951 (3CR) This course enables students to pursue their interests in areas not covered by other classes at the 4000 level. It usually involves independent study in a programme planned by the student and approved by the Department. | ||||||||||||||||||||||||||||||||||||||||||||||
©
2004 Mount Allison University | |||||||||||||||||||||||||||||||||||||||||||||||
Maintained
by the Webmaster | |||||||||||||||||||||||||||||||||||||||||||||||
April
2004 | |||||||||||||||||||||||||||||||||||||||||||||||