Computer Science

Virtually every discipline - practical, theoretical or creative - is experiencing the influence of computers. The ever-increasing dependence on computer technology in our daily lives presents rich opportunities for those interested in the design of new applications and systems. Computer Science, the science of computing, provides a solid and rigorous foundation on which such systems and applications can be built.

The basis for virtually all of computer science is abstraction-creating a model for a problem, and finding appropriate algorithms which can be automatically applied to the solution of the model problem. This makes computer science fundamentally different from most other sciences, in that other sciences attempt to explain the world as it is. Computer scientists normally must abstract relevant properties from a problem to construct a model of the problem which can be solved using a computer.

Computer Science Programs Offerings and Admission Requirements

The Department of Computer Science, at the St. John's campus only, offers a wide range of programs, all of which are intended to be challenging, are dedicated to the evolution of computer science, and attempt to strike a balance between the study of hardware, software, theory and practice.

A student, either on entrance to Memorial University or after successful completion of first year of studies, may declare his/her intent to enter one of our computer science programs. For a majority of our program offerings, a student has the option of entering either the Faculty of Science or the Faculty of Arts, working towards a B.Sc. or BA degree, respectively. The computer science and mathematics course requirements are the same for students in either faculty, with the main differences being in the core requirements for each degree and the student's choice of electives at the more advanced level. Computer Science general or honours degrees are offered in either faculty. A general degree provides the student with exposure to the theoretical and applied concepts of computer science which are standard in any computer science program. Students who continue on to the honours program have the opportunity to broaden and deepen their knowledge in computer science, and are exposed to research activity in the discipline, under the supervision of a faculty member. A minor in computer science is also available in either faculty.

Two specialized programs are also available to computer science majors. These programs are a B.Sc. (Hon.) in computer science, software engineering option, and the computer industry internship option available for the major or honours (B.Sc. only).

Further information on programs offered by the department can be found at web.cs.mun.ca.

COMPUTER SCIENCE 1600 - Basic Computing and Information Technology

This course offers an overview of computers and information technology. It provides students with the knowledge necessary to answer questions, such as: What is a computer system? How does it work? How is it used? This is done through the use of popular spreadsheet, word processing and database software packages and the Internet. Social issues and implications will also be included.

Lectures: Three hours per week
Laboratory: Three hours per week
Prerequisite: Level III advanced mathematics or Mathematics 1090, which can be taken concurrently.

Notes:

  1. Students can receive credit for only one of Computer Science 1600, Computer Science 2650 or Computer Science 2801.
  2. Computer Science 1600 can be used as a science elective, and is open to any student at the university.

COMPUTER SCIENCE 1700 - Introduction to Computer Science

This course lays the foundation for the art and the science of computing. The course contains fundamental and topical issues in computers, languages, programming and applications. This course is designed for potential computer science majors without a background in programming, but is also available for non-majors, and can be used as a science elective.

Lectures: Three hours per week
Laboratory: Three hours per week
Prerequisite/Corequisite: Mathematics 1090 (or equivalent), or Mathematics 1000.

COMPUTER SCIENCE 1710 - Object-Oriented Programming in JAVA

An introduction to fundamental programming techniques, primitive data types and operations, program control structures and the use of pre-defined objects, classes and methods.

This is now the first required course for all computer science majors.

Lectures: Three hours per week
Laboratory: Three hours per week
Prerequisite: Mathematics 1090 (or equivalent), or Mathematics 1000. Mathematics 1000 can be taken concurrently.

Note: Effective September 2004, students who have previously completed Computer Sceince 2710 will not be permitted to register or receive credit for Computer Sceince 1710.

COMPUTER SCIENCE 2650 - Introduction to Computing and Information Technology

This course provides a broad overview of hardware and software components of computer systems, their structure, and principles of operation. The topics include algorithmic problem solving, visual programming, operating systems services, computer networks, elements of artificial intelligence and societal issues. Internet and microcomputer software tools in the Windows environment are introduced.

Lectures: Three hours per week
Laboratory: Three hours per week
Prerequisite: Level III advanced math or Mathematics 1090, or Mathematics 1000. Mathematics 1000 can be taken concurrently.

Note: Students can receive credit for only one of Computer Science 1600, Computer Science 2650 or Computer Science 2801.

COMPUTER SCIENCE 2710 - Problem Solving and Programming

This course emphasizes algorithmic problem solving and sound programming techniques; for instance, mathematical models for abstract data types are formally defined and their relevant properties are proved. Basic techniques for the organization of data in the computer's storage are discussed and the basics for proving properties of programs are given.

Lectures: Three hours per week
Laboratory: Three hours per week
Prerequisite: Computer Science 1700. Effective January 2005, the prerequisite will change to Computer Science 1710.

Note: Effective September 2004, students who have previously completed Computer Science 2710 will not be permitted to register or receive credit for Computer Sceince 1710.

COMPUTER SCIENCE 2740 - Discrete Structures I

Basic concepts of logic. Propositional logic and its proof system. The language of predicate logic. Sets, functions and relations, induction and recursion. Basics of graph theory, elementary properties of graphs.

Lectures: Three hours per week
Prerequisite: Computer Science 1700. Effective January 2005, the prerequisite will change to Computer Science 1710.

Note: Credit cannot be obtained for both Computer Science 2740 and Pure Mathematics 2320.




Go to Part III-Table of Contents

Go to the Academic Advising Centre's Homepage



Last modified June 1, 2004.