Computer Systems Technology (CSTP)

CSTP 1101  Credits: 3  
Comm & Workplace Behaviour  Total Hours: 60  
Learners study human behaviour in organizations and develop the skills needed to deal with people at work. Topics include: individual behaviour, values, interpersonal relationships and communications, groups and team dynamics, organizational culture, leadership, and change. Students will examine the communication skills required in the workplace, including effective interpersonal communication techniques and conflict resolution. Students learn about practical techniques in business communication, such as memos, letters, emails, reports, and formal presentations. Students learn how to communicate with their supervisors, colleagues and clients in various forms. As part of the training, students get familiar with common communication mediums such as Word, Excel, and Google Docs and Charts.
CSTP 1103  Credits: 3  
Data & Doc. Mgmt. Fundamentals  Total Hours: 60  
Learners will be introduced to the basics of document management such as creating, modifying, formatting, displaying, and processing data as in a typical workplace. This includes both structured and unstructured data, mostly in text format. Learners will be familiarized with popular document management apps such as Microsoft Word, Spreadsheet, Google Doc, Google Sheets, Google Charts, XML formatting, and document versioning tools such as git.
CSTP 1104  Credits: 5  
Computer Systems Admin  Total Hours: 100  
This course introduces students to the computer (PC) as a system, both hardware and software. Students learn PC hardware and peripheral components: their role, how to connect, install, configure, and troubleshoot issues. This also includes basic safety and operational procedures. For software, students will gain knowledge of the fundamentals of Operating Systems (OS). They will acquire the skills needed to install and configure desktop computers and other devices in a business environment. Topics include OS architecture, file and disk management, BIOS and UEFI, multi-boot, virtual machines, software installation/removal, performance tuning, backing up and protecting data, and troubleshooting. The basics of networking, security, virus protection, and firewalls are also covered. This course also reviews the complex concepts in OS such as process scheduling, Virtual Memory, signals and interrupts, and applications management by OS. This course loosely follows latest CompTIA A+ certification syllabus, but taking the exam is not part of the course.
CSTP 1105  Credits: 4  
Introduction to Programming  Total Hours: 80  
This is an introductory course on programming. Learners will develop problem-solving skills through the use of detailed algorithms and be introduced to structured and object oriented design techniques. The course content includes standard program syntax, variable types, operators, input/output statements, decision and loop control structures, methods, encapsulation, instantiating and using objects. The course is taught in Python. Using basic Python graphics library, students learn to develop interesting interactive desktop application while developing their programming know-hows using python. This is a hands-on course and student learn all complexities of programming through developing simple and fun (some simple games using Python graphics) applications.
CSTP 1106  Credits: 3  
Website Development  Total Hours: 60  
This course covers the fundamentals of website development and design using Hypertext Markup Language (HTML5), Cascading Style Sheets (CSS), and JavaScript as scripting languages to add dynamic component to static websites. The emphasis in this course is the Front-End of web application. Students learn how to create structured websites using HTML5; 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 Document Object Model (DOM) elements, to validate web forms, and to perform site management. Learners gain familiarity with various modern HTML design tools and APIs such as FlexBox and Grid. Students learn to use JavaScript frameworks such as react.js and Vue.js to make it easier to design complex and modular webpages. Students get familiar with the popular Online Code repository and versioning service Git by using it to keep track of their assignments and projects; all projects and assignments may be submitted to the instructor through Git. Student learn to perform Git activities such as commit, pull, push, pull requests, branching, and cloning.
CSTP 1108  Credits: 2  
Applied Mathematics  Total Hours: 40  
In this course, students gain a strong mathematical foundation for future technical and programming courses. This course deals with linear systems of equations and various common function types and their properties. Students will learn how to solve linear equations and how to draw graphs of common functions such as polynomials, periodic, logarithmic, and exponential functions. Computers use binary numbers to represent all data. Students learn how different data types (integers, characters, and floating point numbers) are represented in computers. Students learn to apply math concepts to solve real life or technology-related problems. This course also covers the importance of mathematical logic and logical reasoning for proving a concept and theorem. The emphasis in the course is not mathematical rigour. The goal is understanding and using these concepts in common cases, and learning is example-driven.
CSTP 1201  Credits: 4  
Intro to Database Mgmt Systems  Total Hours: 80  
In this course students will learn how to manage SQL database systems, including performing basic database administration. Students will learn how to configure a database to support different applications and to perform tasks such as creating users and database schema, applying constraints, setting up access control, assigning memory, defining storage structures and manipulating data. Since database administration does not end after the database is created, students will learn the importance of backup and recovery strategy. Students will become familiar with fundamental concepts in the field such as transnational operations, ACID property, backup and redundancy, data integrity, various database roles (database admin, database programmer, database designer), database normal forms, join operations, and how to perform queries.
Pre-requisite(s): CSTP 1105  
CSTP 1202  Credits: 3  
Intro to Data Com & Networking  Total Hours: 60  
In this course learners study the fundamentals of computer networking, protocols, components, major networking technologies and systems of modern networks, and will be able to configure, manage, and troubleshoot modern networks. The topics include TCP/IP protocol suite, multiplexing/switching techniques, basic error detection and correction, elementary data link protocols, flow control and an introduction to routing and congestion control issues, multiple access protocols, networking and inter-networking devices, LANs and WANs. This course presents content required in the objectives of the CompTIA Network+ certification exam. Basics of Cloud computing and network security will be covered as well.
Pre-requisite(s): CSTP 1104  
CSTP 1203  Credits: 2  
Intro to Server Administration  Total Hours: 40  
In this course students will install and configure Windows Server 2016 for use as a network operating system. Learners will install and configure basic network services such as Active Directory, Domain Name Services (DNS), Dynamic Host Configuration Protocol (DHCP) services and virtualization.
CSTP 1204  Credits: 3  
Software Analysis and Design  Total Hours: 60  
In this course students are exposed to the pillars of the Software Development Life Cycle (SDLC). Students explore and apply the concepts required to analyze, design, create, install and document a systems project through individual and team exercises. This course also introduces the Java programming language. All programming in this course is done in Java as a primary Object-Oriented language. Students learn how to practice Object-Oriented Modelling techniques using the Unified Modelling Language (UML) as well as being introduced to the fundamentals of Project Management. Agile frameworks and SCRUM are used in sample mock team projects. Using Object-Oriented Design (OOD), students learn how to identify classes and build the domain model. Learners learn the key players and stakeholders in a typical project and their roles. Various testing types such as unit testing, feature testing, regression testing, user acceptance testing, smoke testing, and functional testing are also introduced.
Pre-requisite(s): CSTP 1105  
CSTP 1205  Credits: 4  
Programming in C++  Total Hours: 80  
This is an intense hands-on course on the most popular system and app development language: C++. Students (equipped with the basics of programming from CSTP 1105) learn the basics of C++ and its powerful features. Topics include: classes, object life cycle, memory management and smart pointers, program execution life-cycle, an introduction to the Standard Template Library (STL), the basics of exception handling, and the basics of threads and processes in C++. The main goal of this course is for students to become fully familiar with the landscape of programming with C++ and to be comfortable using its common and modern features as well as to have the confidence to debug, optimize, and restructure existing code in a general application development context.
Pre-requisite(s): CSTP 1105  
CSTP 1206  Credits: 3  
Intro to Intrnt Prog & WebApps  Total Hours: 60  
Building on the foundation learned in CSTP 1106, students are further exposed to Javascript as a main scripting language on the web on both the client and server side. Related frameworks and runtime environments such as Node.js and Express.js are introduced. Students learn how to use the MVC (Model-View-Controller) template to design and develop web applications that work through browsers and have both client side and server side dynamic back-ends. Students develop hands-on projects using No-SQL databases such as MongoDB, Postgresql and the use of REST API (Representational State Transfer) frameworks. Students will be able to use Javascript in depth for both front end and back end components of simple Web applications. Students will use a Git repository to document their progress throughout their projects.
Pre-requisite(s): CSTP 1105, CSTP 1106  
CSTP 1207  Credits: 2  
Technical Communication  Total Hours: 40  
In this course students will be introduced to the basic principles of effective technical writing in the computer industry. The necessity of following company standards for documentation will be emphasized. Learners will review grammar and style, and learn technical formats and report design. The production of technical documentation for a variety of user groups will be a course focus. Students will learn how to write effective business correspondence and instructions and how to deliver a formal oral presentation. Student will also learn the basics of resume preparation and cover letter writing.
CSTP 1301  Credits: 2  
IT Project Management  Total Hours: 40  
In this course students will learn how to develop and implement an IT project plan. Given the specifications for a software system, students plan and work as a team to develop a system for the client. Students are exposed to Project Management best practices. Students will assume a role, analyse and prepare required documents, participate in project meetings, assess risk, plan for quality testing, perform schedule management, and maintain budget requirements. Student are introduced to Microsoft Project, Microsoft Sharepoint, and will receive an overview of common project management concepts through a hands-on approach. The emphasis is on project development as a process, with collaboration and proper communication between team members and the project stakeholders.
CSTP 1302  Credits: 4  
Windows Programming  Total Hours: 80  
In this course students become familiar with Windows application development by learning how to use the C# programming language to develop native GUI Windows applications. Students learn the basics of C# such as data types, arrays, methods, structures, enums, classes, inheritance, interfaces, namespaces, and exception handling. Students also learn to develop applications using the Windows Presentation Foundation (WPF): how to size, position UI elements and design layouts, and develop code that interacts with input devices. They will also write programs to manage content such as text, images, media, and speech. Other programming exercises include styles as well as data binding and data presentation.
Pre-requisite(s): CSTP 1205, taken prior or concurrently (with department permission)  
CSTP 1303  Credits: 3  
Intro to Client-Srvr Computing  Total Hours: 60  
In this course students are introduced to the fundamentals of developing a distributed application system based on the client/server paradigm. Students learn how to design and implement client-server applications based on TCP/IP network protocol suite, and to use sockets in C++ programming environment to set up reliable (TCP) or unreliable (UDP) communication between two hosts. Student learn by developing sample console, windows, or browser applications such as Chat applications, File Transfer applications, or simple role based multi-player games such as Chess. Security of the application is enforced by learning to use Secure Socket layer (SSL) or HTTPS API as secure communication protocol. The goal in this course is to make students aware, through hands-on work, of the challenges of a networked/distributed application, such as performance, delays, reliability, synchronization, scalability, and security issues.
Pre-requisite(s): CSTP 1202, CSTP 1205  
CSTP 1304  Credits: 2  
User Interface Design  Total Hours: 40  
This course introduces User eXperience/User Interface (UX/UI) design concepts for developing efficient interfaces for websites, mobile applications, and information systems in general. Learners acquire tools and know-how to generate creative, user-friendly digital product Interfaces. Key concepts covered include: information architecture, client goals, ideal users, card sorting, journey mapping, site mapping, service mapping, mood boards, prototyping, wireframes, metaphor, branding, user flow, peer testing mockups, whiteboard challenges, and usability reports. Students will plan and create a small website or a UI-centric mobile app following UI/UX best practices, analyzing the interface requirements and user interaction. Using those requirements and following usability guidelines, learners will design a site that works well on both desktop and mobile devices applying responsive web design. Students will choose and create appropriate media for website content.
Pre-requisite(s): CSTP 1106  
CSTP 1305  Credits: 3  
Algo Analysis & Data Structure  Total Hours: 60  
Students learn the fundamentals of algorithm design and analysis through hands-on practice with various popular algorithms and data structures used in software development. Students learn how to analyze the time and space complexity of an algorithm and learn how to test and choose the right solution for a non-trivial programming problem. The emphasis is on developing practical skills as well as the conceptual mastery of efficient algorithm selection. Important data structures covered in this course include: arrays and vectors, and trees and graphs. Popular algorithms and design strategies covered include: Recursion vs Iteration, Divide and Conquer, Greedy Techniques and basic sorting algorithms. This language of choice for this course is modern C++ or Java.
Pre-requisite(s): CSTP 1205  
Co-requisite(s): CSTP 1204  
CSTP 2101  Credits: 3  
Database Management & Storage  Total Hours: 60  
This is an advanced course in database management systems, data storage and related topics. Students learn about modern computer system storage requirements, SaaS (Storage as a Service), raw storage media and volume management, Redundant Array of Inexpensive Disks (RAID) system configuration, remote file systems, and various levels of access (file level vs block level). On the database side, students learn how to backup and perform recovery on a database in a fast and efficient manner and to tune the database to maximize performance. Backup and recovery topics include: instance and media recovery structures, configuring the database archiving mode, user-managed backup and recovery, automatic backup and recovery, database maintenance, importing and exporting, and loading data.
CSTP 2102  Credits: 3  
Enterprise Systems Support  Total Hours: 60  
In this course students will gain valuable expertise in assessing, documenting and responding to an assortment of help desk situations. Learners will acquire knowledge regarding computer deployment in an enterprise environment. Additionally, learners will also deploy anti-virus software, monitor software license compliance, and perform network resource inventory in an enterprise environment.
CSTP 2104  Credits: 3  
Windows Interactive App Prog  Total Hours: 60  
In this course students gain a strong familiarity with developing applications specifically for the Microsoft Windows Operating System using Universal Windows Platform (UWP) framework and .NET. The core of Windows development environment relies on .NET framework. Students are expected to have good background in programming and have already taken a course in which they have been exposed to C# programming language. The UWP computing platform is introduced and used extensively along with XAML to provide a shared development environment and a consistent feel and look across all Windows devices. Students also get familiar with using ASP.NET to produce dynamic web applications using Entity Framework. Related technologies are also used such as LINQ for adding querying capabilities. Students will develop sample Windows/Web applications using the above technologies and platforms, practicing Object-Oriented Programming, and the Model-View-Controller (MVP) model of design and development. Students deploy their ASP.NET applications in the cloud. For some project students may also use Microsoft SQL servers for database services.
Pre-requisite(s): CSTP 1302  
CSTP 2106  Credits: 3  
Intro to Computer Security  Total Hours: 60  
In this course students learn the fundamentals of computer security. Students learn the principles of computer and information security in general, and become familiar with the fundamentals of designing a secure system both from hardware and software point of views. Students learn about security policies, the principles of cryptography, the basics of authentication, data protection concepts, how access control systems work, and software security. In general, learners will become familiar with the principles, practices, and analysis of developing secure software systems. Additionally, students will learn to recognize several areas of security attacks, intrusions, examine current security measures and evaluate techniques to enhance existing measures. The topics to be covered in detail are: Cryptographic Protocols, authentication and access, intrusion detection and prevention systems, and available security technologies.
Pre-requisite(s): CSTP 1104, CSTP 1202  
CSTP 2107  Credits: 4  
Adv Internet Prog. & Web Apps  Total Hours: 80  
In this course students learn about advanced web technologies which provide the possibility of building fully dynamic web-centric applications. This is an intensive, hands-on, project-based, team-oriented course in which students in a team of 2-4 become familiar with "full stack" web development. This course introduces new database models such as NoSQL or MongoDB in the context of developing an end-to-end web application development using MVC architecture. The technologies used focus on a current modern stack, such as MEAN (MongoDB, Express.js, AngularJS), LAMP (Linux, Apache, MySQL, Python), and others. This course requires students to be capable programming in Javascript in various environments. Other topics to be reviewed are: NextJS, Server-side scripting, Typescript, SASS, NPM package manager, RESTful API, OAuth, and PHP for some server side queries. By the end of this course, students will be able to participate in the development of secure data-driven business web applications in various domains. The instructor will also introduce the new and latest technologies in web development, such as Web Assembly or Web workers based on time availability at the last few weeks of the course.
Pre-requisite(s): CSTP 1206, CSTP 1304  
CSTP 2108  Credits: 2  
Mathematics for Programmers  Total Hours: 40  
This course builds on CSTP1108 with applied topics in discrete mathematics, probability and statistics. Topics include: the basics of Boolean logic, introduction to vector and matrix algebra, set theory, counting, and selected topics in combinatorics such as Graph theory and Coding theory. In the second part of this course students become familiar with data distribution, probability of a situation out of all possible outcomes, and how basic statistical modeling, analysis, and computations are performed for real-life applications.
Pre-requisite(s): CSTP 1108  
CSTP 2110  Credits: 3  
Intro to Cloud Computing  Total Hours: 60  
In this course, learners gain a wider knowledge and deeper understanding of installing, configuring, and managing cloud infrastructure for an organization. Students are introduced to the cloud as a platform to acquire and use various resources which are traditionally used on a local hardware. This includes: cloud deployment models, cloud platform architectures, cloud computing platforms and comparative analysis Cloud computing is comprised of virtual machine instances, load balancers, auto scaling groups, snapshots, and cloud networking. Students gain experience working with virtual private clouds (VPC), cloud storage and content delivery through cloud-hosted databases. Cloud security models are also covered including user identity, access management, and resource security. This course is a mixture of lecture and hands-on, with students practising in the lab using services from various cloud providers such as Microsoft, VMWare, Google, and Amazon.
Pre-requisite(s): CSTP 1206, CSTP 1303  
CSTP 2201  Credits: 3  
Linux OS & Networking  Total Hours: 60  
This is a course for familiarizing students with Linux Operating System in detail. Students will learn to work with both the command line and graphical interfaces of the Linux operating system. In addition students will learn about the file system, shell programming, and system and network administration. Special emphasis will be placed on learning about Linux networking and telecommunication.
CSTP 2202  Credits: 3  
Network Server Administration  Total Hours: 60  
In this course students will study advanced network administration skills by managing network servers and services. Students will study how to oversee a complex network environment and learn how to configure numerous network services with a variety of administrative tools. Students will use the Microsoft Official Academic Course (MOAC) curriculum and training materials. On completion of this course, students will have covered the learning objectives required in the Microsoft 70-411 certification exam. The Computer Systems Technology program does not provide exams for Microsoft certification but mock exams are provided for midterm and final exams of the course.
CSTP 2204  Credits: 5  
IT Development Project  Total Hours: 100  
In this course, students work as a team on a group IT project on industry level projects. The project ideas are often recruited from external or internal (to VCC) clients. Students are exposed to all aspects of project development. Students work in a team to design, analyze, develop, test, and deliver a complete software application project. The project team could be a collaborative team involving students from different disciplines including networking or web design programs. The selection of team members is done under guidance of the instructor and in collaboration among the students. The intent is that the team work should resemble as much as possible to real work environment in the IT project development sector. A project team will have a project manager and/or various leads which oversea the progress in multiple fronts such as coding, arts assets, and testing. The industry practices using SDLC, agile methodology, and weekly SCRUM meetings will be followed so students get a taste of how to work in a team in a typical development or IT company. Students will study and employ the practical and theoretical concepts obtained in the first year systems analysis and design courses by building an IT system. Learners work as part of a development team on an IT problem for an external industry client. The project will include the production and demonstration of the functioning components of the system for each release within deadlines set out in the project management documentation. Students will present the final product to the client. The instructor, or external clients can work as the project client/stakeholder in determining if the project has been successful. Students will also practice project management, documentation, meeting and presentation skills. As a contributor to a computer system development project, learners will prepare for and participate in project meetings, prepare project management documentation, adapt project management processes as required, manage progress using project management techniques and manage storage of project documentation.
Pre-requisite(s): CSTP 2104, CSTP 2107  
CSTP 2205  Credits: 3  
Android Mobile App Programming  Total Hours: 60  
This hands-on course concentrates on the Android operating system as well as common related development environments like Android Studio and SDK (Software Development Kit) tools to build and deploy native Android applications in Java. Student learn to manage Android resources, design user interfaces with layouts, create Services, employ multi-threading paradigms, and make sure of REST (REpresentational State Transfer) endpoints. Other topics may include Location Based Services, network connectivity, and accessing Cloud services and data. This course assumes students are already familiar with basics of Java programming, web technologies, and the development and deployment of websites using HTML5, CSS, and Javascript.
Pre-requisite(s): CSTP 1206, CSTP 1204  
CSTP 2208  Credits: 1  
Career Path Search  Total Hours: 20  
In this course students will prepare a career path portfolio based on their accumulated skills, qualifications, demo apps, and accomplishments. Students will revise their resume and cover letter to target an IT job posting. In a simulated job interview, students will answer behavioral questions and demonstrate the use of a career path portfolio. Students develop their online presence such as LinkedIn and career related blogs.
CSTP 2301  Credits: 3  
Emerging Technologies  Total Hours: 60  
In this course students will study new and emerging technologies, and will examine how these technologies can change existing markets, trends, and application development directions. These technologies are usually disruptive and provides a whole new breed of apps and products. Students will gain experience in working with software and/or hardware that can be classified as part of the emerging technology paradigm. This may include: cloud computing, machine learning, virtualization or simulation technologies, security technologies, blockchain and cryptocurrency, and artificial intelligence.
Pre-requisite(s): CSTP 1205, CSTP 1206  
CSTP 2302  Credits: 3  
Advanced Server Administration  Total Hours: 65  
In this course students will study the advanced configuration of services necessary to deploy, manage and maintain a Windows Server infrastructure in an Enterprise. Students will learn such skills as fault tolerance, certificate services, advanced file services, advanced access control, and identity federation. Students will use the Microsoft Official Academic Course (MOAC) curriculum and training materials. On completion of this course, students will have covered the learning objectives required in the Microsoft 70-412 certification exam. The Computer Systems Technology program does not provide exams for Microsoft certification, although internal exams are going to mock the certification exams.
CSTP 2303  Credits: 3  
Comp Sys Secur Threats & Solu  Total Hours: 60  
In this course students will learn various attack and defense methodologies. While exploring current and emerging security topics students will learn how computer security affects businesses and business data. Students will be introduced to the protection of an organization's assets, intellectual property and employees as well as methods for maintaining business continuity. Students will also examine methods to maintain the integrity of an organization's network infrastructure and day-to-day operations.
CSTP 2305  Credits: 3  
iOS Mobile App Programming  Total Hours: 60  
In this course students study basic iOS application development for Apple mobile devices as well as cross platform application development for both Android and Apple devices. This course is designed for students who already have basic understanding of Object-Oriented programming using modern programming languages such as C++. Studies will learn how to use Apple's Swift programming language using development environment Xcode to develop general purpose application for Mac OS or iOS operating system. Students will utilize a cross platform development tool to create a mobile application that can run on multiple platforms. The emphasis in this course is gaining familiarity with the toolchain, the necessary APIs, working with MacOS and Xcode, and basic coding in the Swift programming language. Students will have access to modern Mac Labs to develop and test their applications, but for publishing and using the latest updates and packages it is recommended students have access to a Mac PC such as Mac mini.
Pre-requisite(s): CSTP 1205, CSTP 1206