VIU COMPUTER PROGRAMS DEPARTMENT

      Admission Requirements  |   News & Events  |   Student Club  |  Course Schedules | Site Map

Go to VIU main page

HOME
ABOUT THE DEPARTMENT
GRADUATE STUDIES
UNDERGRADUATE STUDIES
DIPLOMA
ACADEMIC STUDIES
FACULTY
USEFUL LINKS
FAQ's
 

BSc Course Descriptions PDF  | Print |

H: Lecture Hour  L: Lab Hour C: Credit 
2 Lab Hour = 1 Lecture Hour

1 credit=15 contact hours=30 lab hours=45 Practicum /Internship

CS 110 Computer Science I (2H:2L:3C)
Prerequisites: None
This course is an introduction to field of computer science. Topics include an overview of computer system hardware and organization, algorithms, operating systems, networking and internet protocols, programming languages, software engineering, object oriented programming, database systems, artificial intelligence, and theory of computation.

CS 213 Computer Science II (2H:2L:3C)
Prerequisites: CS 110 
This course examines the fundamental data structures and analyzes algorithms like; files, sets, strings, linked lists, stacks, queues, trees and also introducing  searching and sorting algorithms and algorithm analysis etc. Covers abstract data types and essential data structures such as arrays, stacks, queues, linked lists, and trees. Major emphasis on program development through various programming projects.


CS 215 Digital Design (3H:0L:3C)
Prerequisites: MATH 151
Boolean algebra, logic theorems, simplification techniques including Karnaugh maps and the Quine-McCluskey method, combination gates, design of combinational circuits, electrical characteristics of digital circuits, timing and timing problems, the use of digital data books, sequential circuits, simplification methods, design of sequential circuits and the algorithmic state machine. Principles of register transfer notation. Simulation design of digital circuits.

CS 223 Ethics in Computer Science (3H:0L:3C)
Prerequisite: GEC 130
This course provides the introduction to the impacts of technology on society and to the responsibilities of technical professionals as the principal agents in developing and applying new technology. Various important and controversial issues will be discussed, such as computers and privacy, effects of communications technology on the democratic process, environmental problems, intellectual property, and technology and war. Several different ethics codes will be used as the basis for discussion of professional obligations.


CS 311 Principles of Programming Languages (3H:0L:3C)
Prerequisites: CS 213 
This course covers the fundamental concepts of programming language design and implementation. Topics include: language paradigms; syntax and semantics; names, binding, allocation, data structures, data types; scopes; control structures, data flow; concurrency; exception handling; subprograms; comparison of imperative, functional, logical, and object-oriented programming languages. 

CS 316 Software Engineering (3H:0L:3C)
Prerequisites: CS 213 or CS 223 or Permission of the Department
This course covers the techniques in software design and development. Topics include: modern software engineering practice for long-term, large-scale programming projects; methods for requirements, specification, design, analysis, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and technical documentation. Students organize, manage and develop a software engineering project.

CS 324 Computer Architecture (3H:0L:3C)
Prerequisites: CS 215 or Permission of the Department
This course is an introduction to the architecture of computer systems. Topics include: computer hardware organization; floating-point arithmetic; central processing units; instructions set design issues (RISC vs. CISC); micro-programmed control; addressing and memory hierarchies; bus control and timing; hardwired control; parallelism, pipelining; input/output mechanisms, peripheral devices; interrupt systems; software versus hardware trade-offs.

CS 326 Object Oriented Programming (3H:0L:3C)
Prerequisites: CS 213 or Permission of the Department 
This course concentrates on the concepts of object oriented programming (OOP) paradigm. Concepts presented are exemplified using a selected object oriented programming language. Topics include: fundamental abstraction, modularity and encapsulation mechanisms in OOP, classes, inheritance, polymorphism, exception handling, concurrent programming, data structures. Student completes a term project that utilizes object oriented programming. 

CS 328 Programming with C/C++ (2H:2L:3C)
Prerequisite: CS 110 or Permission of the Department
This course covers the fundamental concepts of C/C++ programming language. Topics include variables, expressions and interactivity, relational and logical operators, looping, functions, arrays, pointers, classes, file operations, inheritance, polymorphism and virtual functions. Student completes a term project that utilizes C/C++.

CS 345 Operating Systems (3H:0L:3C)
Prerequisites: CS 311 or CS 324
The course is an introduction to the fundamentals of operating systems. Topics included: concurrent processes and synchronization mechanisms; processor scheduling; memory management, virtual memory; paging, file management; I/O management; deadlock management; interrupt structures, interrupt processing; device management; performance of operating systems; synchronization in a multi-programmed OS and with virtual memory management. Formal principles are illustrated with examples and case studies of one or more contemporary operating systems.

CS 355 Essentials of Networking (3H:0L:3C)
Prerequisites: CS 324 or Permission of the Department 
This course includes the fundamentals of network standards, concepts, topologies and terminologies including LANs, WANs, Internet Protocol (IP) addressing, subnet masking and network design, and various protocols. This course teaches concepts from the Open Systems Interconnection (OSI) Networking Reference Model, developed by the International Standards Organization (ISO) to describe the function and structure of network communications protocols.

CS 360 Web Development Methods (3H:0L:3C)
Prerequisites: CS 213 or Permission of the Department 
CPT Qualified

This course introduces web development technologies. The topics include: web page design techniques, using web design editors, designing graphical user interface with image processing tools, client and server side scripting, and development of database applications. Upon completion, the student should be able to employ advanced design techniques to create high impact and highly functional web pages and have hands-on experience in designing a website.

CS 423 Database Concepts (3H:0L:3C)
Prerequisites: CS 311 or CS 316 Permission of the Department
CPT Qualified 

This course introduces the fundamental concepts for design and development of database systems. Topics include: review of relational data model and the relational manipulation languages SQL and QBE; integrity constraints; logical database design, dependency theory and normalization; query processing and optimization; transaction processing, concurrency control, recovery, and security issues in database systems; object-oriented and object-relational databases; distributed databases; emerging database applications.

CS 438 Computer Graphics (3H:0L:3C)
Prerequisites: MATH 250 or MATH 220 and  Permission of the Department 
This course will introduce the fundamentals of computer graphics. Topics include: graphics displays and systems; two and three-dimensional transformations; curve and surface modeling; rendering pipeline, rasterization algorithms; animations; algorithms for hidden-surface removal; color models; methods for modeling illumination, shading, and reflection. Students organize, manage and develop Computer Graphics project.

CS 445 Distributed Systems (3H:0L:3C)
Prerequisites: CS 324 or Permission of the Department
This course introduces the fundamentals of distributed systems and algorithms. Topics include: distributed systems architecture; IO subsystems; distributed shared memory; load-balancing; cache coherency; message passing; remote procedure calls; group communication; naming and membership problems; asynchrony, logical time and consistency; fault-tolerance and recovery.

CS 456 Computer Networks (3H:0L:3C)
Prerequisites: MATH 337 or  CS 324
This course covers the design of modern communication networks. Topics include: point-to-point and broadcast network solutions; ISO-OSI model description; circuit switching and packet switching; network topology, physical link layer; communication techniques; data link layer, flow control and error recovery; network layer, routing; local area networks, medium access control; examples of commonly used networks and protocols.

CS 458 Principles of Network Security (3H:0L:3C)
Prerequisites: CS 355
CPT Qualified

This course will discuss introduction to cryptography and its application to network and operating system security: security threats; applications of cryptography; secret key and public key cryptographic algorithms; hash functions; cryptographic protocols; SSL, IPSEC; basic number theory; authentication; security for electronic mail and intrusion detection.

CS 460 Theory of Computation (3H:0L:3C)
Prerequisites: MATH 337 or Permission of the Department 
This course covers alternative theoretical models of and their relations to formal grammars and languages. Topics include: finite state machines; regular languages and their limitations; tape automata, pushdown automata; context free languages, normal form grammars; Turing machines, halting problem; unsolvable decision problems.

CS 467 Design and Analysis of Algorithms (3H:0L:3C)
Prerequisites: MATH 250
This course introduces the analysis of algorithms and the effects of data structures on them. Topics include algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide and conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymptotic worst case, expected time, amortized analysis, solution of recurrence relation and reductions between problems.

CS 475 Special Topics in Computer Science (3H:0L:3C)
Prerequisites:  CS 316 or CS 324 or CS 326 or Permission of the Department 
This course will cover the topics of current interest selected by the faculty. Subjects as announced before each semester

CS 498 Senior Computer Design Project I (3H:0L:3C)
Capstone Course
Prerequisites:CS 324  or CS 345 or CS 423 Permission of the Department
First phase of a technical project is emphasizing engineering design principles on a specific topic in any field of computer science or engineering to be carried out by the senior student under the supervision of a faculty member. In the first phase of the project includes identification of a topic and completion of the preliminary work. A progress report has to be submitted at the end of the semester detailing the problem description, proposed solution approach, and a list of deliverables.

CS 499 Senior Computer Design Project II (3H:0L:3C)
Capstone Course
Prerequisites: CS 498
Second phase of the technical project is emphasizing engineering design principles on a specific topic in any field of computer science or engineering to be carried out by the senior student under the supervision of a faculty member. The first phase of the project has to be completed in CS 498. A written report summarizing the accomplishments of the project and an oral presentation are required in this course. 

MIS 551 Research Methods in MIS (3H:0L:3C)
Prerequisite: STAT 200 or STAT 468 or MATH 337
Provides knowledge of research methodologies used in the MIS discipline, including experimental design, surveys, case studies, and fieldwork. This course introduces students to applied research methodologies. The use of analytical tools, literature searches and the application of VIU documentation style will result in a formal written proposal, which may serve as the basis for each student’s Special Project.

MIS 552 Management Information Systems (3H:0L:3C)
Prerequisite: ACCT 201 or ACCT 202
This course will explore the management of information systems and related information technologies (IS/IT) as a part of a broader socio-technical system, and their impacts on people and processes that extend well beyond organizational boundaries. Also, subjective and debatable issues associated with IS/IT will be discussed.   Accordingly, critical thinking is an important part of this course and is essential for an analysis and understanding of important issues associated with the management aspects of information systems.

MIS 553 Foundations of E-Business Technology (3H:0L:3C)
Prerequisite: ACCT 201 or ACCT 202 and CS 423
The goal of this course is to bring web services, e-business, and semantic web technological issues together for discussion and review. This includes new research results and developments in the context of web services and e-business as well as application of existing research results in this new fascinating area.

MIS 554 System Analysis & Design (3H:0L:3C)
Prerequisite: STAT 200 or STAT 468 or MATH 337 and CS 432
The course provides an overview of the systems development life cycle and introduces tools and methods for the analysis and design of information systems, and the management and organizational skills needed for their implementation. Information analysis in entity-relationship modeling and process modeling in data flow diagrams will be covered as the key skills in structured system analysis and design.

MIS 555 Database Management Systems (3H:0L:3C)
Prerequisite: CS 423
This course will provide the introduction to hierarchical and relational models, normalization, third normal form, relational algebra, SQL and database design stages. Students will learn various DBMS software products and multi-user database environments and how they are controlled. MS-Access is introduced only as tool to practice designing database and understand the theory.

MIS 556 Data Communications (3H:0L:3C)
Prerequisite: STAT 200 or STAT 468 or MATH 337
The course will begin with the introduction of data communications and then progresses logically from the basic concepts of data communications to transmission and interface standards and explains the relevant terminology, concepts, hardware, software, protocols, and architectures as well as data integrity and security.

MIS 558 Information Systems Security (3H:0L:3C)
Prerequisite: STAT 200 or STAT 468 or MATH 337 and CS 423
This course will provide a broad review of the field of security of information systems. Topics include operating system models and mechanisms for mandatory and discretionary controls, data models, concepts and mechanisms for database security, basic cryptography and applications, security in computer networks and distributed systems, and control and prevention of viruses and rogue programs.

MIS 617 Security Management (3H:0L:3C)
Prerequisite: MIS 558
This course explores the criticality of protecting information's availability, accuracy, authenticity, confidentiality, and integrity. Topics include redundancy, backup and recovery, business continuity, security technologies, and controls such as audit, change management and testing.

MIS 619 Network Security/Security in Distributed Systems (3H:0L:3C)
Prerequisite: MIS 551 and MIS 558
Introduction to network security; security threats, services, protocols, verification and design, architectures, technologies, testing advances; elements of cryptography; securing network systems and applications. Projects involve designing a programming, basic security tools, secure programs and distributed systems.

MIS 622 Case Studies in of Information Security (3H:0L:3C)
Prerequisite: MIS 551 and Permission of Department
CPT Qualified
This graduate level course encompasses the InfoSec regulation and guidelines that are mandated by the USG on the agencies.  The course is more on the standards that are applied in accordance with the guidelines

MIS 651 Technology and Development of E-Business (3H:0L:3C)
Prerequisite: MIS 553
With the emergence of e-Business, organizations are adapting their transaction processing systems to use the Web technology. Such systems may operate as Intranet applications within the business, as extranet applications between the firm and its business partners, or provide access to customers via the Internet. This course addresses the technological structure, architecture, development tools and methods for constructing such Web-based applications. It includes a project to develop an interactive web-based transaction processing system.

MIS 652 Operating Systems(3H:0L:3C)
Prerequisite: CS 311 or CS 326 or CS 328
This course will discuss the design and implementation of computer operating systems,. Topics discussed include operating system structures, functions of the kernel, process management, CPU scheduling, deadlocks, memory management, input/output, file system facilities, concurrent processes, security and integrity

MIS 653 Software Design and Construction (3H:0L:3C)
Prerequisite: CS 311 or CS 326 or CS 328
This course focuses on the design and development of business information systems in a modern software development environment with the emphasis on object-oriented programming. It is assumed that the syntax of the basic programming constructs (decisions, iterations, etc.) are known, or at least learned independently of this course.

MIS 654 Enterprise Resource Planning (3H:0L:3C)
Prerequisite: MIS 551 and MIS 554
CPT Qualified

Logistics involves the integration of information, transportation, inventory, warehousing, material handling, and purchasing. All of these areas provide a variety of stimulating jobs for students interested in operations management, marketing, and information systems. Because of the strategic importance of logistical performance, any student interested in senior management will benefit from this course.

MIS 655 Management Information Systems in Supply Chain Management (3H:0L:3C)
Prerequisite: MIS 552
CPT Qualified
Integrating information systems technology in manufacturing environments; role of information systems in supporting manufacturing decision-making processes, manufacturing imposed issues in information processing, emerging information systems technology affecting manufacturing operations.

MIS 656 E-Commerce Security / Internet Security (3H:0L:3C)
Prerequisite: MIS 558
CPT Qualified
This course will provide the salient computer security concepts needed for e-commerce. That will include client and server security options, accountability, assurance, confidentiality, integrity, and availability of data. Basic knowledge of cryptology, why it’s needed, how it’s used, and how it makes electronic commerce possible using insecure channels, like the Internet. Cryptographic protocols will also be discussed.

MIS 660 Thesis (6 credits)
Prerequisite: Successfully Completion of 18 credit hours MIS level course and permission of the Department Chair and MIS 551
Students may choose this thesis option, or take two elective courses. The thesis work can comprise basic research or a practical project. The amount of work will be the same in both cases. Although the thesis is counted as 6 credits, the amount of work involved may exceed considerably the work done in two typical courses. Students are encouraged to start their thesis work as early as possible. Usually after completing two semesters of course work the student will be asked to work with a faculty advisor to choose a suitable Masters Thesis topic and prepare a thesis proposal.

VIU Thesis Guide
The VIU Thesis Guide is designed to assist VIU masters students at all stages of thesis, or project process. Students are advised to consult the guide as early into their work as possible as it will help facilitate the process of submitting a thesis, or project which conforms to VIU regulations. The thesis is going to be bounded, cataloged, archived, and made available to the University academic community. The VIU Thesis Guide provides an overview of the thesis or project process; a checklist of procedures to guide students during the writing of their thesis, or project.

VIU Thesis Guide

 

 


3957 PENDER DR. FAIRFAX, VA, 22030, USA • TEL: 703 591 1844 • FAX: 703 591 7046 • EMAIL: CPD@VIU.EDU  COPYRIGHT © 2008