### Bachelor of Mathematics and Computing Science

The Bachelor of Mathematics and Computing Science program fills an urgent emerging need to provide the workforce of Papua New Guinea with professionals who are competent to apply mathematical and computing techniques and engage in research in mathematics and computing science. The demand for computer-literate mathematicians continues to grow as technology advances. Whether it is making a mobile phone secure, understanding the behaviour of complex software or designing a super-fast algorithm, mathematics is the key. Mathematics is also being used in medicine, for example in the analysis of brain scans; and in anthropology, in the study of social relationships; to name just a couple of examples.

Mathematics is becoming increasingly useful in all facets of life. This Bachelor of Mathematics and Computing Science program aims to give a solid grounding in the methods of modern applicable mathematics with a particular emphasis on applications in computing, including mobile phone technology.

**Program Code**: B.Math Comp

## Program Description

The degree program consists of four years of study, but students can exit with a diploma after two years. Capable students may continue on to postgraduate studies. The Bachelor of Mathematics and Computing program aims to cater for the interests of those people who would like to specialise in pure mathematics and its applications to computing science. The computing units emphasize the use of mathematics in several areas of computing, especially in the area of software design and data analysis and data and network security.

Graduates of the program will be competent to apply mathematical and computing techniques in the work force and engage in research in mathematics and computing science. Graduates have the attributes to be competent in mathematics and computing, effective and articulate in interpersonal and public communication using both oral and written genres, aware of the ethical and social implications and imperatives of their work and aware of the ideal of personal integrity in all aspects of professional life.

## Pre-requisites

Applicants are required to have completed the equivalent of four years secondary education or equivalent from a recognised educational institution. Minimum grades of ‘B’ in English, ‘B’ in Mathematics A, and ‘B’ in Physics are required at Grade 12 PNG secondary school level. Additionally, an applicant must have at least a ‘C’ in all other subjects taken in secondary school.

**Program Units**

## Year One

MC102 | Calculus 1 |

MC116 | Structured Programming 2 |

MC117 | Pre-Calculus |

MC118 | Applied Discete Mathematics |

MC119 | Structured Programming 1 |

MC204 | Computer Organisation |

RS234 | Christian Ethics |

IS103 | Communication Skills |

## Year Two

MC104 | Calculus 2 |

MC106 | Probability and Statistics 1 |

MC203 | Linear Algebra |

MC212 | Object Oriented Programming |

MC213 | Data Structures |

MC214 | Systems Analysis and Design |

MC215 | Calculus 3 |

IS207 | Ethics for IS Professionals 1 |

## Year Three

MC303 | Programming Languages |

MC308 | Probability and Theory Statistics 2 |

MC312 | Computer Networks (CCNA 1) |

MC314 | Differential Equations |

MC315 | Abstract Algebra |

MC316 | Real Analysis |

MC317 | Relational Databases |

IS304 | Data Communications 2 (CCNA 2) |

**Program Unit Descriptions**

**Year 1**

## MC102

**MC102 Calculus 1** - 10 Credit Points

Building upon the foundations established in MC117 Pre-Calculus, this unit addresses the significant role of mathematics in describing and resolving simple and complex problems relevant to real world situations. The formulation and solution of such problems is supported by appropriate advanced mathematical concepts used for differentiation. Gained will be a deeper understanding of the concepts of limits and derivatives, and how these may be used in applied contexts. Undertaking this unit will allow development of problem solving skills.

## MC116

**MC116 Structured Programming 2** - 10 Credit Points

This unit is a continuation of the studies begun in Structured Programming 1. Programming topics to be addressed include reading and writing files, pointers and dynamic memory allocation, and command line programming. Additionally, an overview treatment of the history of computing and other general computer science topics will be addressed including Networking, Programming Languages , Software Engineering , Data Abstractions , Database Systems, Computer Graphics, Artificial Intelligence, and the Theory of Computation.

## MC117

**MC117 Pre-Calculus** - 10 Credit Points

This unit strengthens algebraic, geometric, and trigonometric concepts and prepares students for higher level university courses, such as calculus. The course begins by reviewing linear equations, progresses to studying conics and functions from an analytic perspective, and concludes by investigating right triangle and unit circle approaches to trigonometry, as well as trigonometric identities and equations.

## MC118

**MC118 Applied Discrete Mathematics** - 10 Credit Points

This unit introduces students to the concept of proof by studying sets, numbers and functions from a rigorous viewpoint. The course begins by reviewing basic knowledge on number theory and progresses to introducing many topics in discrete mathematics. These topics provide a foundation for higher level mathematics and computer programming courses.

## MC119

**MC119 Structured Programming 1** - 10 Credit Points

This unit is a first course in computer programming. Programming topics to be addressed include algorithmic design, programming structures of sequence, selection and iteration, simple text processing and mathematical manipulation. Additionally, an overview treatment of the history of computing and other general computer science topics will be addressed including the History of Computing, Social Repercussions, Data Storage, the Binary Number System, Data Manipulation, Computer Architecture, Machine Language and Operating Systems.

## MC204

**MC204 Computer Organisation** - 10 Credit Points

This unit provides an overview of computer systems, representation of data, digital logic, micro-programming level, instruction set processor level, operating system level, and assembly language level. This unit demonstrates the applications of logic and number theory to computer design and organisation, and to the design of operating systems.

## RS234

**RS234 Christian Ethics** - 10 Credit Points

Ethics is a systematic, critical study concerned with the evaluation of human conduct to help male decisions about the future. It is concerned about what is right, fair, just or good; about what we ought to do, not just what is the case or what is most acceptable or expedient. Christian ethics is the critical evaluation of human conduct from a Christian perspective. In this course, students will explore the understanding, sources and importance of ethics in everybody’s personal and professional life.

## IS103

**IS103 Communication Skills** - 10 Credit Points

In education, the workplace, and the wider community, communication skills are regarded as vitally important for a person’s growth and advance in their career and lives. This unit introduces students to theory and concepts of communication. Different types and forms of communication skills are introduced and practiced to assist students in their professional and personal communications. Consideration for computer assisted communication is demonstrated in assisting students in developing word processing and power point presentation skills.

**Year 2**

## MC104

**MC104 Calculus 2** - 10 Credit Points

To develop knowledge and advanced analytical skills in the field of integral calculus involving functions of single variables through independent and collaborative learning. To equip students with the techniques required for the application of integral calculus in disciplines where these concepts are used.

## MC106

**MC106 Probability and Statistics 1** - 10 Credit Points

This unit introduces basic ideas and techniques of probability and statistics, including probability distributions, conditional probability and independence, the estimation of population means and variances, confidence intervals, hypothesis testing, and correlation. This unit is a basic introduction to Mathematical Statistics and forms a basis for all the later units in statistics.

## MC203

**MC203 Linear Algebra** - 10 Credit Points

This unit introduces the basic ideas and techniques of linear algebra that are built upon in more advanced classes in both mathematics and computer science. Linear algebra begins with the fundamental theory of systems of linear equations, important in much scientific and industrial application, and moves through matrices and determinants. The course then introduces abstract reasoning and proof techniques as it progresses through the central topic of vector spaces. Linear algebra is well placed to introduce ‘abstract notions,’’ basic ideas of abstract algebra and techniques of proof, which will be useful for future units in pure mathematics.

## MC212

**MC212 Object Oriented Programming** - 10 Credit Points

An introduction to object-oriented programming techniques, using a contemporary programming language. This course covers topics such as object-oriented design, classes and methods, inheritance, polymorphism, templates, software reuse, and the event-driven programming. Other topics included are control structures, functions, arrays, abstraction and encapsulation, classes and abstract classes and objects, inheritance, polymorphism, constructors, access control and overloading.

## MC213

**MC213 Data Structures ** - 10 Credit Points

This unit is study of data organisation and processing in the context of abstract data types. This course combines classroom lecture format with hands on supervised laboratory programming exercises each week to cover topics including pointers, lists, strings, stacks, queues, trees, searching, and sorting. It is taught against the backdrop of a modern programming language.

## MC214

**MC214 Systems Analysis and Design** - 10 Credit Points

This unit is an introduction to the knowledge and skills needed for creating or modifying an information system. Central concepts include gathering details, analyzing the data, designing the system by creating solutions, and implementing and maintaining the system. The unit introduces established and evolving methodologies for the analysis, design, and development of an information system. Emphasis is placed on system characteristics, managing projects, prototyping, coverage of UML, and systems development life cycle phases. Agile software development methodologies are introduced.

## MC215

**MC215 Calculus** **3** - 10 Credit Points

This unit includes the following: polar coordinates; parametric equations; conic sections; quadric surfaces; vector-valued functions; Fourier series; functions of several variables; graphs; partial derivatives; total derivatives; extrema; Lagrange multipliers; Taylor series for multivariable functions; double and triple integrals; Green's theorems; line and surface integrals; divergence theorem; Stoke's theorem; applications.

This unit will endeavour to introduce you to new skills and methodologies that are essential to the study of science, technology and engineering. It will also provide the necessary background for those of you who go on to more advanced study in mathematics.

Advanced calculus is fundamental to the study of applied mathematics and related quantitative disciplines such as physics, physical chemistry and engineering. In order to succeed in these and related fields you will need a strong grounding in advanced calculus techniques and theory.

## IS207

**IS207 Ethics for IS Professionals 1** - 10 Credit Points

Information Systems (IS) professionals often work in organisations which are specially sensitive to ethical issues. Relevant ethical issues need to be clearly understood by employees. IS professionals have electronic access to records and information such as personal, financial, valuable and data vulnerable to theft or fraud. There are also global issues associated with the ethical use of the Internet and the ensuring of just practices in the use of electronic commerce. Case studies are used to enable students to apply ethical principles to the complex situations found in the real world of business and commerce.

**Year 3**

## MC303

**MC303 Programming Languages **- 10 Credit Points

This unit addresses the principles of programming language design and use. It introduces different models of computation and the programming languages based on them, particularly functional programming and logic programming. It then examines a range of underlying issues in programming languages, such as semantics of programming languages, type systems, and control in programming languages.

## MC308

**MC308 Probability and Theory Statistics 2** - 10 Credit Points

This unit continues the development of probability and statistics from the first year unit MC171 so that all students have the basic grounding in this area that would be expected of a mathematics graduate. It provides a solid basis for a wide variety of options later in the program for students who wish to take their studies in probability and/or statistics further.

## MC312

**MC312 Computer Networks (CCNA 1)** - 10 Credit Points

This unit provides an introduction to computer networking that exposes the students to the fundamental principles and architectures underlying computer networks, with the main focus on the Internet. Students are provided with full-fledged Internet application projects that bring together a full understanding of both theory and practice. After taking this unit, the knowledge and skills acquired by the students should enable them to learn new and emerging technologies and be capable of contributing to the field of computer networking.

## MC314

**MC314 Differntial Equations** - 10 Credit Points

This unit is an introduction to Ordinary Differential Equations. Differential Equations allow us to connect mathematics with the physical world. There are two main branches of differential equations; Ordinary and Partial Differential Equations and the distinction lies in the type of derivatives involved. The unit requires the use of undergraduate calculus and linear algebra to solve Ordinary Differential Equations (ODE).

## MC315

**MC315 Abstract Algebra** - 10 Credit Points

Abstract Algebra deals with how attributes of sets of mathematical objects behave when one or more properties associated with real numbers are restricted. For example, if we add or multiply a real number, we get a real number. That is real numbers are closed under multiplication and division. However, if we divide one integer by another integer, we may not get an integer as a result—meaning that integers are not closed under division. The commutative principle of multiplication also holds good for integers, unlike matrix multiplication. In abstract algebra we investigate these sorts of properties and try to determine which properties hold true for any set of mathematical objects under certain operations and which types of structures result when we perform certain operations.

Abstract algebra has applications in a variety of diverse fields, including computation, physics, and economics etc. We will begin this course by reviewing basic set theory, relations and integers in order to understand how algebraic operations arise and are used. These form the basis for studying advanced algebra structures such as groups, rings and fields, the latter two of which are studied in another unit.

## MC316

**MC316 Real Analysis** - 10 Credit Points

This unit introduces you to the rigorous examination of the real number system and the foundations of calculus of functions of a single real variable. Analysis connects algebra and topology. In calculus, you use the notion of a limit to find rates of change and areas under curves. The intuitive approach involved in finding limits of real valued functions was based on the assumption that the underlying field was of real numbers. In this unit we extend those ideas to include other underlying spaces. The unit involves justifying every step of a limiting process. After a brief review of set theory, you will dive into the analysis of sequences, upon which all analysis of Euclidean space is based.

## MC317

**MC317 Relational Databases** - 10 Credit Points

This unit introduces relational databases, database management systems and the facilities required to store and access large collections of data in a shared user environment. UML diagrams and expressing a database model in UML is covered. Supporting topics of the theory of relations, data modelling and database architecture are covered as well. Introduction to the database language SQL and the means to develop of a practical database system, including the process of developing data relations into higher orders of normalisation.

## IS304

**IS304 Data Communications 2 (CCNA 2)** - 10 Credit Points

Increasingly, Local Area Networks (LAN’s) are linked to other LAN’s via Wide Area Networks (WAN’s) in a process known as internetworking. The largest example of this is the Internet to which most LAN’s today are connected. This unit builds on the basic networking concepts gained in IS203 to develop the concepts, protocols and technology required for internetworking. Hardware includes layer 2 switches and layer 3 routers which are discussed and configured using both simulation software and with a hardware network provided in a laboratory setting. The TCP/IP protocol suite used on the Internet is studied as well as IP4 addressing schemes and Access Control lists. This unit addresses aspects of the ACS Core Areas of *Data Communications* and *Networks* as well as the CCNA (Cisco Certified Network Associate) curriculum.

**Year 4**

## MC309

**MC309 Mathematical Modelling** - 10 Credit Points

One of the interesting areas in mathematics is that of mathematical modeling, which involves the use of mathematical ideas to investigate “real-world” problems. Mathematics has many applications in areas such as economics, finance, biology, medicine, physics, engineering, etc.

Therefore, understanding of the role and potential of mathematical modeling is an important part of the mathematical knowledge of any student pursuing a career in mathematics or science.

The unit requires the use of calculus and ordinary differential equations to model simple problems and then using mathematical software to implement and study their behaviors

## MC408

**MC408 Research Topic and Symposium** - 10 Credit Points

Research in the mathematical sciences contributes to a wide variety of fields in the real world. Building on problem solving skills developed in the first two years of mathematical sciences studies, this unit offers you the opportunity to investigate and develop a more holistic, systematic problem solving approach. Such skills are required to undertake research in real world contexts and in further studies at university.

## MC409

**MC409 Human Computer Interaction** - 10 Credit Points

This unit addresses the analysis, design, prototyping and evaluation of interfaces to allow efficient and effective use of interactive systems, focussing on the user-centred design approach as a key part of the software development life cycle. Practical examples will be taken from areas such as multimedia, the web and novel interface applications.

## MC413

**MC413 Theory of Computation** - 10 Credit Points

This unit is an introduction to the classical and contemporary theory of computation. Topics include theory of automata and formal language, computing by Turing machines, Church's thesis, and decision problems. Computability and the complexity classes P versus NP will be introduced.

## MC414

**MC414 MCS Advanced Topic** 2 - 10 Credit Points

This unit provides a second opportunity for students to study in an advanced topic in Mathematics or Computing Science. It is designed to equip students who plan to work or pursue further study in a particular area of interest in Mathematics or Computing Science with a background and experience needed to be successful. This unit will be offered as needed. Its content will be shaped in consultation with students, bearing in mind their topics of specialisation.

## MC415

**MC415 Operating Systems** - 10 Credit Points

This unit covers principles of computer operating systems and analysis of operating system architectures. Included are consideration of the topics of processes, inter-process communication and synchronisation; CPU job scheduling, memory and input/output device management; file system management; virtual memory; and mutual exclusion and deadlocks.

## IS308

**IS308 Data Communication 3 (CCNA 3)** - 10 Credit Points

This unit builds on the internetworking concepts gained in IS304. The focus is now on the topologies, technologies and protocols of Wide Area Networks. As well the CISCO IOS is studied to configure routers and to manage a CISCO internetwork. An internetworking software simulation package is used to enable the practising of network configuration and management skills. Students design and document a major multi-campus internetwork for a hypothetical PNG enterprise. This unit addresses aspects of the ACS Core Areas of *Data Communications* and *Networks* as well as the CCNA (Cisco Certified Network Associate) curriculum.