Computing Studies & Information Systems

Course List

Code Course Description
CSIS 1140

Productivity Software and Client Support

In this course, the student develops mastery of advanced MS-Office features. Integration of data from different MS-Office applications will be covered. The student will learn about software support functions in an office setting and trouble-shooting techniques. Basic Help Desk support functions will be introduced and put into practice.
Note: Students who have received credit for CISY 1410 will not receive further credit for CSIS1140.

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 Windows forms, properties, pseudo code, data types, arrays, operators, control structures, methods, classes, objects, and fundamental algorithms.

CSIS 1180

Introduction to Web Technologies

This course covers the fundamentals of web technologies. Students will be introduced to web development and management components that includes programming languages and tools to produce dynamic and fully featured websites for marketing or business purposes. The course will introduce students to both the front-end web development scripting languages such as HTML, CSS and JavaScript; and the back-end web development scripting such as PHP and MySQL. Students will also learn to deploy and manage popular content management systems such as WordPress and learn how to integrate social media and search engine optimization to enhance the digital marketing strategy of the deployed website.

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 appealing pages and captivating designs, and how to implement client-side script using basic concepts in JavaScript to integrate interactivity and dynamic behavior to web pages, 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

IT SECURITY FUNDAMENTALS

This course provides the student with an understanding of security fundamentals. 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 security policies. 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.

CSIS 3160

Evidence Imaging

This course covers the concepts and practical skills of gathering, collecting, and recovering various cyber-security artifacts as digital evidence that can be used in forensic analysis. The course introduces students to the different types of digital information stored in file, registry, application, internet, and network artifacts that should be gathered as evidence. Students will gain practical hands-on in using different tools such as EnCase, FTK and dd to create evidence image. Student will also learn how to analyze and to add interpretation to the raw data to conduct further analysis.

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 3200

Applied Knowledge Management

This course aims to provide students with applied skills and training in the areas of knowledge and process management with a focus on analysis, modelling, design, and implementation. Students will gain practical experience in leveraging information technology tools to improve project management practices, document management, workflows, business processes, and compliance.

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

Backend Web Development

This course will introduce students to server-side scripting using popular scripting language such as PHP. Emphasis will be placed on training students in applying scripting techniques to build and administer database driven dynamic web content solutions in a 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 Web and Mobile Applications

This course provides students the opportunity to learn and apply principles of UI/UX design to web and mobile applications. Students will learn how to ideate on their web and mobile applications, empathize and describe user needs and pain points with user studies and storyboarding, propose design solutions, map user journey and create hands-on high-fidelity prototypes using various prototyping tools and techniques. Students will iterate and improve these designs based on UX testing with target users. Students will explain and implement recent UI/UX trends in web and mobile applications.

CSIS 3380

Full Stack Development With Javascript

This course provides the fundamental knowledge necessary to design and develop dynamic web pages using JavaScript. The course will also introduce students to client-side JavaScript frameworks (e.g., React.js) 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 technologies and frameworks (e.g., Node.js, Express), REST concepts and NoSQL databases. Students will learn how to architect, develop, deploy, and manage a RESTful Web Service, and develop a fully functioning full-stack web application. Comprehensive hands-on exercises are integrated throughout the course to reinforce learning and develop real competency.

CSIS 3400

Natural Language Processing

This course teaches the theories and hands-on skills for natural language processing (NLP). Students will learn how to collect, process, and analyze natural language data or text data using various algorithms and automatic approaches. Students will have hands-on practice writing programs to build different NLP related applications.

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 3560

Scripting for CyberSecurity

This course will provide students with a comprehensive introduction to scripting and automation within the context of information security including systems administration, text processing, alerting and more. This is a lab-based course consisting of three modules. First students receive an introduction to the Linux operating system, including bash shell scripting, text processing and basic *nix commands in a command-line environment. The second part covers Windows operating system topics focusing on PowerShell, automation for various infrastructure and operational tasks, data analysis, and using internal windows system components such as WMI and WinRM to analyze system state information. PowerShell will also be used to cover some of the topics mentioned above. The third part of the course will focus on tools for individual use and customization requirements in addition to automation using Python. This course will equip students with a practical hands-on knowledge, literacy, tools and languages to help them succeed in the CyberSecurity Program.

CSIS 3600

Fundamentals of Data Engineering

This course covers data engineering concepts and the systems, processes, practices, and tools used in data engineering. Students will learn how to select and configure suitable data engineering infrastructures for various data engineering use cases, and to develop, implement, and manage pipelines for ingesting data from different data sources. Students will also learn how to securely provision ingested data to downstream data consumers. Throughout the course, contemporary data engineering tools will be used for hands-on class demonstrations, exercises, and projects.

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.

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 Emerging Technology

This course focuses on emerging technologies in web, mobile, and cloud. Students will learn key architecture and design patterns for mobile application development, handling of sensors, Bluetooth, cloud integration, and web/REST (Representational State Transfer) services. 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.

CSIS 4300

DevOps Fundamentals

This course will provide students with a comprehensive hands-on introduction to DevOps Pipelines (Plan, Develop, Build, Test, Deploy, Monitor). The course will begin with a brief introduction to systems administration and a development framework that will be used throughout the course for the DevOps pipeline. Students will have to develop a small application which will be
used as a vehicle to implement the DevOps pipeline.

CSIS 4440

Mobile CyberSecurity

In this course, students will adopt a hands-on, multi-tool approach to mobile forensics with a focus on android devices. Students will understand the challenges in mobile forensics, and conduct a thorough investigation of evidence from mobile devices. Students will develop skills to prepare the environment after initial investigation, and analyze, extract, preserve and apply recovery techniques of mobile forensic evidence. Students will also identify malware, and illustrate the spread and impact of malware, and how to protect and remove malware from android devices.

CSIS 4450

Operating System & Multimedia CyberSecurity

This course focuses on host-based security and will provide students with in-depth, hands-on experience in operating system hardening, including user account management, host intrusion detection, SEIM/SOAR configuration, implementation and customization, filesystem encryption, and jailing. Besides host hardening, students will gain practical hands-on experience in implementing patch management and host-based security policies.

CSIS 4460

Cloud CyberSecurity

The objective of the course is to provide students with the knowledge and practical experience in identifying and mitigating potential attacks on cloud computing platforms and shared service environments.

CSIS 4470

Network CyberSecurity

The objective of the course is to provide the students with the knowledge and practical experience in identifying and mitigating potential attacks on networks and networked devices.

CSIS 4480

Vulnerabilities and Exploits

This course introduces students to the knowledge and skills on identifying, acknowledging, assessing, mitigating, and managing various vulnerabilities that pose a threat to the organization’s network and data in general. Topics include various types of vulnerabilities – injection, broken authentication and session management, broken access control, cross-site scripting (XSS), security misconfiguration, sensitive data exposure, insufficient attack, site request forgery (CSRF), using components with known vulnerabilities, and unprotected APIs, to name a few. Students will gain theoretical and hands-on experience in identifying and mitigating vulnerabilities, develop recovery policies and procedures to guide safe return to normal state, define accountability and responsibility, and work with security auditing processes to protect the data and network of the organization. This course is suitable for students who would like to gain overall knowledge on identifying and managing vulnerabilities and exploits associated with computer networks.

CSIS 4490

Special Topics in CyberSecurity

The course explores timely and emerging topics that are relevant to cybersecurity. Topics can be gleaned from current issues, such as cloud computing, digital forensics, compliance, software development, IoT, and other contemporary issues in cybersecurity. Both the management and the technical aspect of each cybersecurity issue will be examined and critically analyzed. Students will be given a chance to formulate strategic responses to resolve these issues or improve the situation. The course is research-oriented.

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.