COURSE OF STUDY SUMMARY. OPTIO 1 B.Sc. (Hons) Computer Science (Computational Analysis) 100 Level

Similar documents
Division of Mathematical Sciences

Computer Science/Software Engineering

How To Get A Computer Science Degree At Appalachian State

INFORMATION TECHNOLOGY PROGRAM

M.S. Computer Science Program

One LAR Course Credits: 3. Page 4

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Please consult the Department of Engineering about the Computer Engineering Emphasis.

COURSE TITLE COURSE DESCRIPTION

Bachelor of Science in Information Technology. Course Descriptions

Department of Computer Science

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Computer Science MS Course Descriptions

Degrees Major in Computer Science Minor in Computer Science Major in Software Engineering

MEng, BSc Computer Science with Artificial Intelligence

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Computer Science. Requirements for the Major (updated 11/13/03)

Information and Communications Technology Courses at a Glance

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

MEng, BSc Applied Computer Science

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM

Undergraduate Major in Computer Science and Engineering

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

COMPUTER SCIENCE (5651) Test at a Glance

School of Computer Science

Kingdom of Saudi Arabia King Saud University

List of courses MEngg (Computer Systems)

LIST OF REGISTRABLE COURSES FOR BSC COMMUNICATION TECHNOLOGY JUNE 2014

50 Computer Science MI-SG-FLD050-02

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Computer Science (COMP)

Master of Science in Computer Science Information Systems

Master of Science in Computer Science

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Computer and Information Sciences

Doctor of Philosophy in Computer Science

Department of Computer Science

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Mathematics (MAT) MAT 061 Basic Euclidean Geometry 3 Hours. MAT 051 Pre-Algebra 4 Hours

CURRICULUM VITAE EDUCATION:

How To Learn To Manage A Computer System

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N Video Game Design

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Masters in Human Computer Interaction

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Poznan University of Technology Faculty of Electrical Engineering

Computer Science. Master of Science

DIABLO VALLEY COLLEGE CATALOG

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

FLORIDA STATE COLLEGE AT JACKSONVILLE COLLEGE CREDIT COURSE OUTLINE

Master Degree Program in Computer Science (CS)

COMPUTER NETWORKS SECOND EDITION. ANDREW S.fjANENBAUM. Vrije Universiteit Amsterdam, The Netherlands. Nachrichtentechnische Bib'iothek THD Inv.

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

PCCC PCCC Course Description

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

Lecture 1: Introduction

Progress Record. Course 21 (V) Associate of Applied Science in Computer Information Technology and Systems Management

Computer Science Course Descriptions Page 1

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Computer Information Systems (CIS)

MASTER OF SCIENCE IN COMPUTER SCIENCE (MSCS) Department of Computer Science and Information Technology (CSIT) University of the District of Columbia

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

ANTALYA INTERNATIONAL UNIVERSITY INDUSTRIAL ENGINEERING COURSE DESCRIPTIONS

STUDY PROGRAM: INFORMATION SYSTEM

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

The Elective Part of the NSS ICT Curriculum D. Software Development

Masters in Computing and Information Technology

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.

Course Descriptions. CS 101 Intro to Computer Science

Bachelor's Degree in Management Information Systems

CS & Applied Mathematics Dual Degree Curriculum Content

Diploma Of Computing

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

B.Sc. in Computer Information Systems Study Plan

Computer Science/Mathematics Curriculum Pepperdine University

The Different Types of Computer Science Schematics

PLCs and SCADA Systems

Masters in Human Computer Interaction

ABET General Outcomes. Student Learning Outcomes for BS in Computing

School of Computer Science

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Course Descriptions. preparation.

Describe the process of parallelization as it relates to problem solving.

COLLEGE OF INFORMATION TECHNOLOGY

Masters in Networks and Distributed Systems

Master s Program in Information Systems

Department of Computer Science

LONG BEACH CITY COLLEGE MEMORANDUM

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Department of Computer Science

Transcription:

COURSE OF STUDY SUMMARY OPTIO 1 B.Sc. (Hons) Computer Science (Computational Analysis) 100 Level Faculty Requirements FSC 101 Introductory General Biology 3 FSC 102 Introductory General Chemistry 3 FSC 103 Introductory Computer Science 2 FSC 104 Introductory General Mathematics 3 FSC 105 Introductory General Physics 3 Total 14 University Requirements GST 102 Introduction to Logic 2 GST 105 Use of English I 2 Total 4 Departmental Requirement CSC 100 Computer as a Problem-Solving Too 3 Total 3 Programme Requirement MAT 101 Algebra and Coordinate Geometry 3 MAT 102 Calculus 3 PHS 102 Introductory Physics III 3 Total 9 Electives: At least 3 units to be selected from: MAT 103 Mechanics I 3 MAT 104 Statistics for Sciences 3 PHS 101 Introductory Physics II 3 PHS 103 Introductory Practical Physics II 2 200 Level Candidates who enter the degree programme at the Level 200 must offer courses GST 102, 105 and CSC 100 in addition to requirements stated below. They must also offer Faculty course at Level 100 which they did not pass at the A level or equivalent.

University Requirements GST 201 General African Studies I 2 GST 202 General African Studies II 2 Total 4 Programme Requirement (Compulsory) CSC 201 Principles of Computer Science 3 CSC 202 Introduction to Computer Programming 3 CSC 203 Foundation of Sequential Programs 3 CSC 204 Data Structures & Data Management 3 CSC 291 Industrial Training I 2 MAT 201 Real Analysis I 3 MAT 206 Mathematical Methods I 2 MAT 207 Mathematical Methods II 2 PHS 206 Electronics IA 2 PHS 263 Electronics IB 2 Total 25 Electives: At least 3 units to be selected from: MAT 202 Real Analysis II 2 MAT 203 Introduction to Abstract Algebra 3 MAT 204 Linear Algebra I 2 PHS 204 Modern Physics II 2 CSC 207 Introduction to Information Processing 3 ( ot to be offered by students majoring in Computer Science) GST 214 Basic Computer Studies 2 ( ot to be offered by students majoring in Computer Science) 300 Level Faculty Requirements FRE 187/188 A Modern Language 2 FSC 301 History and Philosophy of Science 2 Total 4 Programme Requirement (Compulsory Courses) CSC 301 Algorithms 3 CSC 302 Concurrent Programming 3 CSC 303 Analysis and Design of Digital System 3 CSC 304 Operating Systems 3

CSC 305 Machine and Assembly Language 3 CSC 306 Introduction to Compiler Construction 3 CSC 307 Numerical Computation 3 CSC 308 Introduction to Theory of Computing 3 CSC 391 Industrial Training II 2 Total 26 Electives: At least 4 units to be selected from: CSC 311 Operations Research Techniques 3 CSC 312 Statistical Processing System 3 CSC 321 Introduction to Systems Design and Analysis 3 CSC 322 A Modern Programming Language 3 CSC 331 Real-time Programming 3 CSC 332 Formal Methods in Software Development 3 400 Level Programme Requirement (Compulsory) CSC 401 Introduction to Database Management 3 CSC 402 Principles of Programming Languages 3 CSC 499 Final Year Project 4 Total 10 Electives CSC 421 Information Systems management 3 CSC 422 Data Communication 3 CSC 423 Computer Networks 3 CSC 424 System Performance Evaluation 3 CSC 425 Computer Architecture 3 CSC 430 Software Requirement Specification and Analysis 3 CSC 431 Software Design and Architecture 3 CSC 432 Software Testing, Quality Assurance and Maintenance 3 CSC 403 Computers and the Law of Information Technology 3 CSC 414 Introduction to Artificial Intelligence 3 CSC 415 Further Statistical Processing 3 CSC 416 Further Numerical Analysis 3 CSC 417 Introduction to Optimization Techniques 3 CSC 425 Computer Architecture 3 CSC 433 Compiler Construction 3 CSC 434 Introduction to Computer Graphics 3

REQUIREME T FOR GRADUATIO To graduate, a student must pass a minimum of (i) 128 units for a 4-year degree programme (ii) 96 units for a 3-year degree programme. This minimum will include (i) University requirements: GST 102, 105, 201 and 202. (ii) Faculty requirements: FSC 101 - FSC 105, FSC 301 a, d FSC 302 (i.e. FRE 187 & FRE 188). (iii) Department requirements: All compulsory courses including Programme requirements and suitable electives.

COURSE DESCRIPTIO 100 Level Courses CSC 100: Computer as a Problem-Solving Tool 3 Units Effective problem-solving using current computer environments and ones in years to come. A broad understanding of how to use personal computers. Problem- solving through computer programming and application software. Strategies for learning about computer technology. FSC 103: Introductory Computer Science 2 Units Computer Hardware: Functional components, modern input/output units. Computer Software: Operating system, Application packages. Program Development: Flowcharts and algorithms. Program objects, BASIC Programming language fundamentals. 200 Level GST 214: Basic Computer Studies 2 Units Introduction to using personal computer hardware and software. Using personal computers as effective problem-solving tools for the present and future. Experience with common application software including word processing, spreadsheets, database management and electronic communication. CSC 201: Principles of Computer Science 3 Units An introduction to basic concepts of Computer Science including the paradigms of theory, abstraction and design. Broad themes include the design and analysis of algorithms, the management of information and the programming mechanisms and methodologies required in implementation. Topics should include iterative and recursive sorting algorithms lists, stacks, queues, trees and their application and history and philosophy of computer science. CSC 202: Introduction to Computer Programming 3 Units Fundamental techniques of algorithm design and program development. Topics include structured programming, simple data elements, sequential operations, iterative statements, selection statements, data aggregation, functions and subroutines/procedure. Examples to demonstrate a variety of application for computer programming. Suitable programming languages are to be used for illustrating the examples. CSC 203: Foundations of Sequential Programs 3 Units The relationship between high-level languages and the computer architecture that underlies their implementation including basic machine architecture, assemblers, specification and translation of programming language, linkers and loaders, blockstructured languages, parameter-passing mechanisms and comparison of programming languages.

CSC 204: Data Structures and Data Management 3 Units Introduction to widely used and effective methods of data aggregation, focusing on data structures, their algorithms and performance of these algorithms. Specific topics include trees, operators on sets, sorting, priority queues and memory management. A brief introduction to database systems and the analysis of data structure performance and use in these systems. CSC 207: Introduction to Information Processing 3 Units Information Systems, Management Information Systems, Information Processing, Information Systems output and storage, principles of Data Communication, Data Security and Control, Sorting and Searching. CSC 291: Industrial Training I 2 Units Student is expected to spend at least twelve weeks in a computing environment/organisation. The student would submit a report to the Department for grading. 300 LEVEL COURSES CSC 301: Algorithms 3 Units Prerequisite: CSC 204 The study of efficient algorithms and effective algorithm design techniques, program design with emphasis on pragmatic and mathematical aspects of program efficiency. Topics include compression and text searching methods. NO-completeness and approximating algorithms for NP-complete problems, number theoretic algorithms and their implications. CSC 302: Concurrent Programming 3 Units Prerequisite: CSC 203, 204 An introduction to understanding concurrency and writing concurrent programs, with an emphasis on language constructs used to express and control concurrency, and different concurrent programming techniques and styles. Major topics include: co-routines, mutual evolution, semaphores, high-level concurrency, deadlock, interprocess communication and process structuring. Students will learn how to structure, implement and debug basic concurrent program. CSC 303: Analysis and Design of Digital System 3 Units Prerequisite: CSC 203 Topics to include: Boolean algebra, Design and Analysis at both combinational and sequential circuits. Registers, counters, memory, programmable logic. CPU control logic, the arithmetic-logic unit. Input/output and interrupts. CSC 304: Operating Systems 3 Units Prerequisite: CSC 203, 204 An introduction to the basic components of a modern operating system. Major topics include: concurrency in the large database, memory management, device management,

files systems, security, networks and distributed systems. Students will learn how to write complex program that accomplishes part of their operation through interaction with the operating system. CSC 305: Machine and Assembly language 3 Units Machine Instructions; Hardware and Software Architecture, Assembly language fundamentals: The Macro Assembler; Input/output services; Arithmetic & logical instructions; Numeric conversion; String Processing; Disk Storage and File Processing. A real Assembler must be used as a vehicle for learning. CSC 306: Introduction to Computer Construction 3 Units Review of Compilers, Assemblers and Interpreters. Structure and functional aspects of a typical compiler. Syntax, semantics, functional relationship between lexical analysis, syntax analysis, expression analysis and code generation. Internal form of source program. Use of standard compiler as a working vehicle. Error detection and recovery. CSC 307: umerical Computation 3 Units Prerequisite: CSC 205 Principles and practices of basic numerical computation as a key aspect of scientific computation. Visualization of results. Approximation by splines, fast Fourier transforms solution of linear and non-linear equations, differential equations, floating-point number systems, error, and stability. Presented in the context of specific application to image processing, analysis of data and scientific modelling. CSC 308: Introduction to Theory of Computing 3 Units Prerequisite: CSC 203, 204 Models of computers including finite automata and tuning machines. Basics of formal languages with applications to syntax of programming languages. Unsolvable problems and their relevance to the semantics of programming. Concepts of computational complexity including NP completeness. CSC 311: Operations Research Techniques 3 Units The objective of this course is to introduce students to the mathematical techniques used in Operations Research. These include: Decision trees, Forecasting models, Investment Appraisal, Inventory Control, Linear programming, Network analysis, Queuing Theory, Replacement Analysis and Simulation. CSC 312: Statistical Processing Systems 3 Units Design and Analysis of Sampling Surveys; Statistical Data Compression; 2D, 3D Frequency Tables, Points and Interval Estimation; Test of Significance; Test of Hypothesis; Analysis of Categorical Data; Model Validation; Func { x^2 }-Test, Probability Plots. CSC 321: Introduction to Systems Analysis and Design 3 Units System concepts: examples of systems; System Development Life Cycle (SDLC);

Analysis - Fact gathering Techniques, Data delivery, Data flow diagrams, Process Description, Data Modelling; System Design - structure charts, form designs, security, automated tools for design: CASE; Implementation and Maintenance. Project Planning and Control. Case Study. CSC 322: A Modern Programming Language 3 Units A contemporary programming language should be taught in as much detail as available. CSC 331: Real-Time Programming 3 Units Prerequisite: CSC 303 Intended to give student experience with tools and techniques of real-time programming, this course includes not only issues of microcomputer architecture and a real-time programming language and operating system, but also hands-on experience programming a microcomputer for applications such as process control, data acquisition and communication (Wzb programming). CSC 332: Formal Methods in Software Development 3 Units Prerequisite: CSC 201 Systematic methods for designing, coding, testing and documenting medium-sized programs. Major topics include: formal specification, abstraction, modularity and reusability. Students will become strong apprentice programmers able to write a clear specification for a problem, read a specification and design the software to implement it, use appropriate data structures in a program, write reusable code when possible, debug a program and adequately test a program. CSC 391: Industrial Training II 2 Units Each student is expected to spend at least twelve weeks in a computing environment/organisation. The student would submit a report to the Department for grading. 400 LEVEL COURSES CSC 401: Introduction to Database Management 3 Units Prerequisite: CSC 304 The course introduces the student to the techniques that have been developed to facilitate data sharing, data consistency, data independence and data privacy; Database components, data architecture, data models; Theory of the relational approach, functional dependencies, Normal Forms, Armstrong s axioms, Distributed Relational Database Systems, Storage Structures for large system; SQL. CSC 402: Principles of Programming Languages 3 Units Prerequisite: CSC 202, 203, 204 An exposure to important concepts and issues in contemporary programming languages. Data types, abstraction and polymorphism. Program structure. Lambda calculus and functional programming, logic programming, object-oriented programming. Semantics of programming languages. Critical comparison of language features and programming

methodologies using examples drawn from a variety of programming languages including LISP, prolog, ML, Ada, Smalltalk, Icon, APL, JAVA and LUCID. Programming assignments to involve the use of some of these languages. CSC 403: Computers and the Law of Information Technology 3 Units An introduction to the subject of Computer law, examining current legal issues and problems relating to the use of computer-based information systems, the protection of computer software and databases, and the acquisition and sale of computer systems. CSC 411: Statistical Computing 3 Units Problems Associated with analysis of stochastic problems and statistical data analysis by Applied Linear Models; Computational aspects of multiple repression model; Programming for Statistical Problems and Statistical Packages. CSC 412: Introduction to umerical Analysis 3 Units Prerequisite: CSC 307 Linear Algebra and Matrix Computation. Interactive Solution of a system of linear equations. Numerical Solution of ordinary differential equations. Stability and convergence analysis. Error Analysis. CSC 413: Discrete Mathematics 3 Units Sets and Binary Relations; Combinatories; Introduction to Mathematical Logic; Trees and Graphs; Analysis of Algorithms; Complexity Theory. CSC 414: Introduction to Artificial Intelligence 3 Units Prerequisite: CSC 301 Goals and methods of artificial intelligence. Methods of general problem-solving. Introduction to mathematical logic. Mechanical theorem proving. Game playing. Natural language processing. CSC 415: Further Statistical Processing 3 Units Prerequisite: CSC 312 Topics to include: Multiple Regression Analysis; One-way Analysis of Variance; Twoway Analysis of Variance; Generalized inverses and Applications; Statistical Control; use of Packages to Solve Statistical problems. CSC 416: Further umerical Analysis 3 Units Solution of Partial differential equation by analytic and numerical methods; Eigenvalue problems; Applications to transmission by cables. Finite element methods. CSC 417: Introduction to Optimization Techniques 3 Units Problem definition; Optimization in one direction; Optimization in n-dimensions. Single Variable Optimization: Fibonacci Search, Golden Section Search, Algorithm of Davies, Swan and Campey. Multivariate Optimization: Search Methods, Gradient Methods. Constrained Optimization: Lagrangian Methods, Kuhn Tucker Conditions.

CSC 421: Information Systems Management 3 Units The integration of business and technical considerations in the design, implementation and management of information systems. Topics include: Information system planning and development; business, management, executive and strategic information systems, including case studies of selected large-scale systems; end-user training and development; systems security, disaster planning and recovery. Practical examples of information systems in industry. CSC 422: Data Communication 3 Units Introduction to Waves, Waves Analysis, Fourier analysis (Fourier series, Fourier transform), Z-transform. Analog and Digital data. Analog and digital transmission. Synchronous and Asynchronous transmission. Transmission media, Modulation, Data Modems. Mathematical Communication. Multiplexing (FDM, TDM, PCM), Data link protocols, Interfaces, Codes. Error detection and correction. Parity loop check. CSC 423: Computer etworks 3 Units Prerequisite: CSC 303 Network concepts and protocols. Open System Interconnection (OSI) and Transmission. Control Protocol/Internet Protocol (TCP/IP). Network Topologies - LANs, WANs, Terminal Networks, Broadcast and Routed transmission. LAN-Contention and permission based Media Access protocols, CSMA/CD, Token Ring, Token Bus Slotted ring, Client/Server models, RPC, FDDI, WAN-Circuit, message and packet switching, PSDN and ISDN, X.25. Routing algorithms. Internet working - resolution of protocol variations. Repeaters, Hubs, Bridges, Routers, Brouters, Gateways, Protocol converters. Information to Internet. TCP/IP - core Internet technology. Internet connectivity. Services on the Internet. Current trends on the Internet. CSC 424: System Performance Evaluation 3 Units Basic techniques of system performance evaluation. Specific topics include: performance modelling, discrete event simulation, verification and validation of simulation models, analysis of simulation output; Analysis of single-server queue and queuing networks, modelling of computer systems, networks and other queuing or non-queuing systems. CSC 425: Computer Architecture 3 Units Prerequisite: CSC 303 The course is intended to provide the student with an appreciation of modern computer design and its relation to system architecture, compiler technology and operating system functionality. This course places an emphasis on design based on the measurement of performance and its dependency on parallelism, efficiency, latency and resource utilization. CSC 430: Software Requirement Specification & Analysis 3 Units Prerequisite: CSC 302, 321 Introduction to the requirements definition phase of software development. Models, notations and processes for software requirements of identification, representation,

validation and analysis. An important component of the course is a group project: the software requirement specification of a large software system. CSC 431: Software Design and Architecture 3 Units Prerequisite: CSC 430 Software design process and its models, representation of design/architecture, software architectures and design plans, object-oriented design methods, design state assessment, design quality assurance, design verification. Implementation of a group project. CSC 432: Software Testing, Quality Assurance and Maintenance 3 Units Prerequisite: CSC 431 Systematic testing of software systems, software verification, symbolic execution, software debugging, quality assurance, measurement and prediction of software reliability, project management, software maintenance, software reuse, reverse engineering. (Application to the group project in CSC 431 above). CSC 433: Compiler Construction 3 Units Prerequisite: CSC 308 Phase of compilation, Lexical Analysis and a review of parsing. Compiler-compilers and translator writing systems. LEX and YACC. Scope rules, block structure and symbol tables. Runtime stack management. Parameter passing mechanisms. Stack storage organization and templates. Heap storage management. Intermediate code. Code generations. Macros. CSC 434: Introduction to Computer Graphics 3 Units Prerequisite: CSC 302 Software and hardware for interactive computer graphics. Implementation of device drivers. 3-D transformations, clipping, perspective and input routines. Data structures, hidden surface removal, colour shading techniques and some additional topics will be covered. CSC 499: Final Year Project 4 Units Each student is expected to undertake a project. Arrangements for supervising students vary from supervisor to supervisor but will generally take the form of a weekly meeting. A supervisor will be assigned to each final-year student as early as possible in their final year. A formal report must be submitted before the second semester examinations begin and must contain at least one large, optimally-designed and fully documented computer program or a properly simulated design.