Computing Studies & Information Systems

Code Course Description
CSIS 1175

Introduction to Programming I

This course introduces students to computing science and programming. It includes fundamental concepts and terminology of computing science, program design and fundamental building blocks for programming in a high-level language. Topics cover, but are not limited to forms, properties, pseudo code, data types, arrays, operators, control structures, methods, classes, objects, and fundamental algorithms.

CSIS 1190

Excel for Business

This course gives students a brief introduction to information technology concepts before concentrating on essential Excel topics used in the business world. Information technology concepts covered include searching the Internet efficiently, managing files/folders, and computer security and backup. Excel topics include the basic fundamentals to advanced functionality, such as what-if analysis and macros. Word processing, database, and presentation software will be used as tools for presenting finished projects and assignments.
Note: Students who have received credit for CSIS 1110 or CSIS 1140 cannot receive additional credit for CSIS 1190.

CSIS 1275

Introduction to Programming II

This course is a thorough introduction to computer science and programming suitable for students with some programming background. Students will learn the fundamental concepts and terminology of computer science and acquire elementary programming skills in the Java programming language.
This course is intended for students who will major in computing science or a related program.


CSIS 1280

Multimedia Web Development

This course covers the fundamentals of Web site development and design using HTML, CSS and JavaScript. Students will learn how to create structured websites using HTML, how to use the most up to date CSS styles to create responsive, visually-interesting pages and captivating graphical designs, and how to implement client-side script using basic concepts in JavaScript to access DOM elements and to validate web forms.

CSIS 2175

Advanced Integrated Software Development

This is an intensive Java programming course. Students are assumed to have prior knowledge in Object Oriented Programming, data manipulation (text, binary, database), prior knowledge in GUI design, and event handling.

Students will learn Java application development using packages, classes, abstract, interface, inner classes, file i/o, graphical user interface, database connectivity, and many more.

CSIS 2200

Systems Analysis & Design

This course provides an introduction to information systems analysis techniques. The student will be provided with the skills that are necessary for the analysis and design of information systems, and will apply these skills in a step-by-step manner leading from the recognition of a problem to the implementation of a solution on a case study.

CSIS 2260

Operating Systems

This course introduces the major components of operating systems, such as memory management, processor management, process management and file management. Emphasis will be placed on system performance under different design alternatives. Some popular operating systems, such as Windows, Unix/Linux, and Android may be used to illustrate their implementations. Students are required to work on at least two operating systems. This course is suitable for students who wish to learn more about the operating system process under different system environments, such as mobile, desktop and server environments. This course may involve group work.

CSIS 2270

Virtualization and Computer Networking

This course introduces students to virtualization and networking technologies. Students are required to set up and configure software systems for server and desktop virtualization provisioning. Students will also gain hands-on experience in configuring network devices and using packet capturing tools for network monitoring and program debugging. Other topics include TCP/IP and related protocols, subnet planning, and virtual LANs. This course is suitable for students who would like to gain practical knowledge on system virtualization and enterprise network operation. This course may involve group work.

CSIS 2300

Database I

This course will provide the student with knowledge of database concepts. Emphasis will be placed on database design, development and querying using DBMS installed on both LAN and cloud environments. Concepts covered include ER modelling, normalization, and database design theory. Hands on activities will allow students to create, maintain and query various databases. An introduction and overview of stored procedures, triggers and data warehousing will also be covered.

CSIS 2365

ASP .NET

This course will provide a solid understanding of many of the features and capabilities of Microsoft's ASP.NET technology in the development of dynamic web sites. Topics will include technology overview, definition and uses of classes in Visual Basic, toolbox controls, managing style, data validations, interaction with SQL databases, AJAX, and LINQ.
Note: Students who have received credit for CISY 2365 will not receive further credit by taking CSIS 2365.

CSIS 3155

Network Security

This course provides the student with fundamental understanding of network security. The student will learn the concepts and technologies required to secure a network. Viruses, worms and Trojans are discussed and the student will learn to implement secured network infrastructure and security policy. Topics include risk analysis, network protocols, architecture security, types of attacks, authentication, encryption, network security applications and appliances, firewalls, virtual private network and intrusion detection system. The student will learn how to make networks secure with the use of tools to analyze traffic and study traffic attacks.

CSIS 3175

Introduction to Mobile Application Development

In this course, students will learn to develop mobile applications to solve business problems. Topics covered include different software platforms, tools for development, user interface, and database handling for mobile applications.

CSIS 3190

Business Support Systems with Excel

In this course, students will build on their knowledge to apply advanced Excel features to create unique business support systems (BSS). Topics include Advanced Functions (Business, Statistics, Logical), Macro's, Power Pivot Tables, User Defined Functions (UDF), What-If Analysis tools and Power BI Dashboards. This is a case-based course where students will be presented with real world capstone business problems and create multifaceted business systems using Excel and the agile system development methodology.

CSIS 3270

Advanced Networking

This course introduces students with knowledge and skills on designing, setting up and managing enterprise networks. Topics include subnet planning with classless IPv4 addresses, dynamic routing protocols, spanning tree protocols, wireless LAN (WLAN) technologies and deployment, and IPv6 migration techniques. Students will gain hands-on experience in configuring routers and switches, setting up network access controls, and carrying out site survey for WLAN. This course is suitable for students who would like to gain practical knowledge on designing and maintaining enterprise networks.

CSIS 3275

Software Engineering

This course will introduce the student to software engineering in a practical competency-based context. Topics covered in this class will help the student in familiarizing themselves with the discipline of Software Engineering in a modern context.

This course will take a lecture/lab classroom approach by introducing the students to the theory and concepts of software engineering and then implementing them in various labs and finally re-enforced using a fully implemented software project.

Topics that will be covered include: Managing software projects, Software development life-cycle, Version Control, Software teams, Software Process and Metrics, WhiteBox and Blackbox Testing, Unified Modeling Language (UML) for Object-Oriented Design, Design Patterns, Architectural Patterns and Software.

Students will participate in all of the common aspects of software engineering through a term project to apply the concepts they learn. Theory and concepts will be re-enforced with a Lab component followed by implementation requirements in a team-based context for the students term project.

CSIS 3280

Web Based Scripting

This course will introduce students to server-side scripting using popular scripting tools such as Perl or PHP. Emphasis will be placed on training students in applying scripting techniques to build and administer database driven dynamic web content and e-commerce solutions in an Apache web hosting environment.


CSIS 3290

Fundamentals of Machine Learning in Data Science

In this course, students will learn to apply machine learning concepts to analyze data and make predictions. Students will learn how to collect and wrangle data, to explore data using statistics and visualizations, to transform data for further modeling, to model data using machine learning algorithms to predict data patterns, and to evaluate these model-based predictions. Students will be expected to have prior experience with fundamentals of programming.

CSIS 3300

Database II

This course will continue on from CSIS 2300 exploring advanced features of database systems. Topics covered will include indexing; query processing and optimization; transaction processing; denormalization; star schema; DW/OLAP cubes; security. NoSQL and MapReduce will also be covered.

CSIS 3360

Fundamentals of Data Analytics

In this course, students will gain the basic understanding of the emerging Data Analytics field. The students will be required to work with real-world examples using current computing tools. Integral to the course is a group project where students will complete a variety of tasks including: requirement elicitation; developing hypothesis; data exploration; dimensional analysis; identifying metrics; and visual presentation of results.

CSIS 3375

UX Design in Mobile Applications

This course provides students the opportunity to learn and explore developing mobile applications from the perspective of human-computer interface (HCI), user experience and interaction design concepts. The course would cover four general areas: essentials of designing interactive systems, techniques for designing interactive systems, contexts for designing interactive systems, and foundations of designing interactive systems.

CSIS 3380

Advanced Web Programming With JavaScript & AJAX

This course provides the fundamental knowledge necessary to design and develop
dynamic Web pages using JavaScript. Students will learn the fundamental aspects of the JavaScript programming language and how to program using document object model application programming interface (DOM API) to modify, traverse, and append nodes to web documents. The course will also introduce students to client-side JavaScript libraries (e.g., jQuery), frameworks (e.g., Angular.js), and design patterns (e.g., MVC pattern) and how client-side scripts interact with server-side programs using Ajax. Furthermore, the course will introduce students to back-end concepts and tools for end-to-end (i.e., full-stack) JavaScript web development, including back-end JavaScript frameworks (e.g., Node.js), REST concepts and NoSQL databases. Students will learn how to architect, develop, test, secure, deploy and manage a RESTful Web Service. Comprehensive hands on exercises are integrated throughout the course to reinforce learning and develop real competency.

CSIS 3475

Data Structures & Algorithms

The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures, data abstraction and algorithms. The main objective of the course is to teach the students how to select, design and implement data structures, abstract data types and algorithms that are appropriate for problems that they might encounter. This course offers the students a mixture of theoretical knowledge and practical experience. It also develops skills of the modular approach to produce maintainable, documented and tested Java applications. Java is the programming language used for implementation.

CSIS 3540

Client Server Systems

This course will provide the student with practical knowledge of developing and implementing client-server systems. Topics will include DDL, DML, host based processing, designing complex queries, stored procedures, triggers, using object-oriented programming and ADO .NET frameworks. Use of LINQ and lambda expressions will be covered. The course will use Visual Studio and C# to build client-server systems.


CSIS 3860

Data Visualization

In this course, students will learn the skills to present analytics results in a clear, concise and visually appealing manner. This hands-on course will introduce students to various tools and techniques of data visualization, visualization best practices, and common pitfalls. Use of Data Visualization tools such as Tableau is adopted in this course for the hands-on skills. Students will also work on building targeted dashboards based on their audience’s need. Other tools such as d3.js, dc.js, Google Charts, etc. are also introduced to reflect on the variety of data visualization tools available for a data analyst to visualize the results of analysis.

CSIS 4050

Advanced Object Oriented Programming for Business Applications

This course will provide the student with practical knowledge of developing and implementing business related applications using the latest Microsoft coding innovations. Topics will include DDL, DML, host-based processing, designing complex queries, triggers, and extensive coverage of ADO.NET. Along with the coverage of database access using Relational and Non-relational database(s), these topics will be covered: XML and XML integration with ADO.NET. The course will use Visual Studio .NET to build Advanced Windows Applications.

Note: For CSIS programs, students can receive credit for one of: CISY 3540/CSIS 3540 or CSIS 4050.

CSIS 4150

Digital Forensics

This course will provide a foundation of concepts in digital forensics including theory, technical tools and methodologies employed in this area. It is aimed at students with limited or no prior exposure to digital forensics. The students are expected to have prior knowledge of networking and network security concepts.
The students will learn digital forensics concepts, tactical issues, the methodologies used, and the tools needed to perform forensics investigations. Digital forensics for computers, networks, cell phones, GPS, the cloud and the Internet will be discussed. Students will get hands-on laboratory experience in using various digital forensic tools such as Autopsy/The Sleuth Kit, OSForensics, EnCase, FTK, Cellebrite, BlackLight or equivalent to apply the concepts learned in the course.

CSIS 4175

Mobile Application Development II

This course provides students the opportunity to learn and develop advanced Android applications. It covers threading and asynchronous processing, services, connecting to local and remote database, notifications, common Android APIs.

Majority of the coursework would be in the form of programming projects. The students would be given several case studies/projects that they need to analyze, assess/evaluate, design, and implement.

CSIS 4260

Special Topics in Data Analytics

Students will learn about emerging technologies and trends in Data Analytics. This course is divided into several modules. Each module represents a specialized body of knowledge focusing on the technical aspects of the 4V's of big data ( Volume, Velocity, Variety, and Veracity) as well as policy and other aspects such as privacy and ethics. Students will also get a chance to research state-of-the-art Data Analytics in an industry of their choice. This course will provide students the required breadth to jumpstart their career in the Data Analytics field.

BLAW 1000

Special Topics in Data Analytics

Students will learn about emerging technologies and trends in Data Analytics. This course is divided into several modules. Each module represents a specialized body of knowledge focusing on the technical aspects of the 4V's of big data ( Volume, Velocity, Variety, and Veracity) as well as policy and other aspects such as privacy and ethics. Students will also get a chance to research state-of-the-art Data Analytics in an industry of their choice. This course will provide students the required breadth to jumpstart their career in the Data Analytics field.

CSIS 4270

Cloud Infrastructure

This course is designed to introduce the concepts of Cloud Computing. The course will expose students to three different perspectives of Cloud Computing: the theoretical, the technical, and the commercial perspectives. A variety of real case studies and existing market cloud-based tools will be identified and studied to provide students with an overview of Cloud Computing applications. Student will also look into more in-depth considerations for planning, designing and migrating to Virtualized Data Centres (VDC) and Cloud environments.

CSIS 4280

Special Topics in Web/Mobile Application Development

This course focuses on emerging technologies in web and mobile application development. Students will learn key architecture and design patterns for mobile application development, handling of sensors, Bluetooth, NFC (Near Field Communication), cloud integration, web/REST (Representational State Transfer) services and latest frameworks to create secure Android apps. Students will also develop, test and debug cross-platform apps and learn to reuse and share code across different platforms. Using a project based approach, students will get hands-on experience in building native/cross-platform apps ranging in social media, games, education, and location-aware apps. Students should have prior knowledge in developing mobile apps using Android and Java and CSIS 4175 is recommended.

CSIS 4495

Applied Research Project

This course enables students in Computing Studies and Information Systems Programs to acquire practical experience in defining, designing, developing and implementing a special computer systems project. Projects will be done individually or in small groups in consultation with the instructor. The instructor will work with each individual or group to select an appropriate computer project. Project topics may vary from in-depth research to systems analysis and design development proposals. The student will learn more about technical documentation. Project management fundamentals will also be covered.