|
420-110-DW |
Programming I |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will introduce the student to the basic building blocks (sequential, selection and repetitive control structures) and modules (methods and classes) used to write a program. The student will use the Java programming language to implement the algorithms studied. The array data structure is introduced. |
|
420-120-DW |
Web Development I |
3 - 2 - 3 |
75 |
|
Description for Course: |
The course will introduce foundational web development skills while exploring the role of Web browsers and servers, protocols of the web, and web domains. Students will learn to apply HTML, CSS, and basic JavaScript to develop web applications containing various media and publish them using web development tools. |
|
420-140-DW |
Infrastructure I |
3 - 2 - 3 |
75 |
|
Description for Course: |
The course will examine the layers of computer systems - hardware, operating system, and application software. This course will have the student gain hands-on experience using hardware components that comprise a computer to assemble a complete system. The student will learn to install, maintain, configure and troubleshoot operating systems and application software. This course explores the concepts, terminology, and fundamental features of operating systems, and students are introduced to both the Windows and Linux operating systems. |
|
420-210-DW |
Programming II |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will introduce the student to basic object-oriented methodology in order to design, implement, use and modify classes, to write programs in the Java language that perform interactive processing, array and string processing, and data validation. Object-oriented features such as encapsulation and inheritance will be explored. |
|
420-231-DW |
Database I |
3 - 3 - 3 |
90 |
|
Description for Course: |
In this course, students will learn tools and techniques for database design and the use of Structured Query Language (SQL). This course will cover the fundamental concepts of the relational data model; the use of selected data modelling methodologies. The syntax and semantics of SQL and stored procedures and functions, to create and maintain relational databases, will also be studied. |
|
420-240-DW |
Infrastructure II |
3 - 2 - 2 |
75 |
|
Description for Course: |
This course will explore the Linux operating system in detail. The student will interact with Linux operating system via command-line interface, with emphasis on bash shell commands, the vi editor, utilities and bash scripts to construct and use command sequences to manipulate data and perform basic system administration tasks. The student will install, configure and manage Linux. |
|
420-310-DW |
Programming III |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will enhance the students’ knowledge of object-oriented programming and Java to produce stand-alone applications employing reusable objects, data structures and the Java collections framework. The concepts of inheritance, polymorphism, data abstraction and programming to interfaces are used to design software. Students are introduced to software version control and effective team collaboration. |
|
420-320-DW |
Web Development II |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will build upon the students’ acquaintance with HTML, CSS and JavaScript, bringing techniques for developing interactivity within a Web browser. Students will learn how to directly manipulate the Document Object Model to dynamically modify a rendered Web page. They will deepen their understanding of the JavaScript language, including its functional, prototypal, and asynchronous character. Finally, they will use freely available libraries and remote web APIs to produce realistic Web applications. |
|
420-331-DW |
Database II |
3 - 3 - 3 |
90 |
|
Description for Course: |
This course will introduce the student to creating applications that use a database for long-term data storage. The student will learn the concepts of data normalization, database design, and native database application design. SQL and PL/SQL will be used to build and manage a database. In addition, the student will complete a project which involves Requirements Analysis and Data Modeling. The project will be implemented using PL/SQL and Java. |
|
420-410-DW |
Programming IV |
3 - 3 - 3 |
90 |
|
Description for Course: |
The student will build upon and consolidate their knowledge of programming to design, implement, modify, and verify applications using an object-oriented methodology. Students will learn and implement object-oriented design patterns and architectures in order to build stand-alone applications with and without a database. The student will study data collections and their use in algorithms that manipulate data in applications. They will learn to use a build system to manage code, and will enhance their knowledge of version control systems with their appropriate use in a team environment. |
|
420-420-DW |
Web Development III |
3 - 3 - 3 |
90 |
|
Description for Course: |
The student is introduced to the utilization of Python programing language within a web framework, the concepts of transactional server-side web development, and data exchange services, using most notably REST APIs web services. |
|
420-440-DW |
Infrastructure III |
3 - 3 - 2 |
90 |
|
Description for Course: |
The course will use Linux to reinforce student understanding of web development and distributed systems. Building on the student's knowledge of Linux and command line skills from Infrastructure II, this course will continue with the configuration and use of a Linux server, each student having full privileges on their own server. All content is from the point of view of the needs of a software developer. Infrastructure and web services configuration and monitoring of logs and other process information, some networking and some security concepts will be covered. The introduction of containers, and authentication security on the local machine, will build on these skills with respect to services. Based on this knowledge, there will be a general introduction to cloud native skills such as continuous development/continuous integration. |
|
420-510-DW |
Programming V |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will focus on the use of algorithms and data structures to simulate real-life phenomena using an appropriate gaming framework. Projects are implemented using an object-oriented language. |
|
420-511-DW |
Mobile Development |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will focus on the development of applications within the Android environment. Students will learn how to analyze, design, construct, and implement an effective mobile application using the Android mobile development environment. |
|
420-520-DW |
Web Development IV |
3 - 3 - 3 |
90 |
|
Description for Course: |
The course will examine Web performance from the end-user perspective. Students are introduced to factors that impact browser loading and rendering time, tools that help in measuring performance, and patterns and tips to improve performance. Students will design and build a full-stack application using JavaScript, with an emphasis on modern best-practices for scalable Web applications, including algorithm optimization and server-side/client-side performance considerations. |
|
420-540-DW |
Data Communications and Networking |
3 - 2 - 3 |
75 |
|
Description for Course: |
This course gives students hands-on experience with modern data communications, as well as network and application security. Students will acquire sufficient knowledge of networks to be able to operate comfortably as programmers in a network environment. Students will obtain an understanding and implement code solutions for data exchange within applications, some of which may involve the use of data retrieved through connected devices. |
|
420-620-DW |
Web Development V |
3 - 3 - 3 |
90 |
|
Description for Course: |
During this 10 week capstone course, you will develop a web-based application, as a team, from beginning to end. You will apply agile project management practices to engage in activities such as sprint planning, standups, and sprint retrospectives. For the most part, the application will use existing technologies that you’ve seen in other classes, and now you will have to put them all together. |
|
420-640-DW |
Infrastructure IV |
3 - 2 - 2 |
75 |
|
Description for Course: |
The course will provide an understanding on how to deploy and manage a system that is cloud based, through the use of tools to automate configuration and deployment. Management of systems includes monitoring of a live system, and software modification of an existing codebase. The course is framed from the point of view of a development team who need to fix code and deploy in a robust manner. |
|
420-652-DW |
Working in the Profession |
3 - 0 - 2 |
45 |
|
Description for Course: |
The course will cover various topics relevant to the profession: ethical dilemmas in computing, understanding the profession and work environment, intellectual property, different levels of technical communication targeting different audiences, case studies in data security and privacy. Students are expected to research and express opinions on technical topics. |
|
420-653-DW |
Internship |
0 - 15 - 1 |
225 |
|
Description for Course: |
The Internship course will provide the student with an experiential basis for learning how to apply the theoretical skills they acquired in the Computer Science Technology Program in order to be better able to successfully pursue a career as a software developer. |
|
420-902-DW |
Web Design |
1 - 2 - 2 |
45 |
|
Description for Course: |
This course will provide the student with the skills to design and develop an effective Web site. Issues of page layout, navigation, aesthetics, colour, typography, readability, graphics, multimedia, interactivity, and animation will be addressed. The student will also learn to perform critiques of existing Web sites based on design principles, functionality, and audience needs. Upon completion of this course, the student will be able to: Understand the major steps involved in planning and creating a Web site; State the objectives of a proposed Web site and the requirements of its target audience; Identify the main design elements of a Web page; Understand how copyright applies to content published on the Internet; Use text, graphics, audio and video effectively in a Web page; Devise multiple strategies for laying out Web pages; Create consistent and easy-to-use site navigation; Test the web site on the local development system and deploy to the cloud. |
|
420-BWC-03 |
Introduction to Computers |
2 - 1 - 3 |
45 |
|
Description for Course: |
You will gain a historical appreciation of the evolution and development of computers and will acquire and demonstrate a basic knowledge of computer concepts. You will be able to illustrate the diversity of systems and will learn to recognize the impact of computers through the direct investigation of software. The MS Word processor and Excel spreadsheet will be described and examined. The relationship between computers and networks will be explored with regard to their impact on society. Security, privacy and computer ethics will be examined in the course readings and discussed in class. You will produce a 750-word paper, based on individual research, exploring one of the topics covered in the course. **Any Science student (First Choice, Health, Pure and Applied, Environmental, ESP, DSP, etc) planning to take Introduction to Computer Programming in Engineering Science (360-420-DW) as a Science option must not take any Computer Science complementary course such as 420-BWC or 420-BXC. |
|
420-BWC-03 |
Introduction to Presentations & Presentation Software Tools |
2 - 1 - 3 |
45 |
|
Description for Course: |
This course will explore the concepts required to prepare and deliver an effective presentation, and how the use of software tools (Word, Excel and PowerPoint) can facilitate and enhance the presentation. The acquired skills and knowledge will allow the student to effectively present ideas to a large group using modern technology as a tool, thus enhancing their effectiveness in the business environment. **Any Science student (First Choice, Health, Pure and Applied, Environmental, ESP, DSP, etc) planning to take Introduction to Computer Programming in Engineering Science (360-420-DW) as a Science option must not take any Computer Science complementary course such as 420-BWC or 420-BXC. |
|
420-BWC-03 |
Mobile Computing Principles |
2 - 1 - 3 |
45 |
|
Description for Course: |
This course is designed to introduce students to the central ideas of computing, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing changes the world. Students will explore computer science from the perspective of mobile computing and its increasingly important effect on society. In addition, students will learn how to create mobile apps to solve problems, through the use of MIT App Inventor, a drag-and-drop visual environment.<br />
**Any Science student (First Choice, Health, Pure and Applied, Environmental, ESP, DSP, etc) planning to take Introduction to Computer Programming in Engineering Science (360-420-DW) as a Science option must not take any Computer Science complementary course such as 420-BWC or 420-BXC. |
|
420-BXC-03 |
Introduction To Programming |
1 - 2 - 3 |
45 |
|
Description for Course: |
In this course, you will solve problems and express your creativity with computer programming. You will thus develop your capacity for computational thinking, a fundamental, everyday skill. Course problem sets are inspired by a variety of domains such as biology, music, finance, and gaming. By learning a programming language and understanding how software “apps” are created, you will be empowered to shape the technology around you and to take an active role in our information age.<br />
**Any Science student (First Choice, Health, Pure and Applied, Environmental, ESP, DSP, etc) planning to take Introduction to Computer Programming in Engineering Science (360-420-DW) as a Science option must not take any Computer Science complementary course such as 420-BWC or 420-BXC. |
|
420-BXC-03 |
Introduction to WordPress |
1 - 2 - 3 |
45 |
|
Description for Course: |
WordPress powers over 40% of the web! This course will introduce students to WordPress and provide them with the skills to go from concept to deploying a commercial website. Students will appropriately use blocks, themes, and plugins, and learn how to customize their sites. Search Engine Optimization and security considerations will be addressed. |
|
420-BXC-03 |
Web Site Creation |
1 - 2 - 3 |
45 |
|
Description for Course: |
This course will provide the student with the skills to design and develop an effective Web site. Issues of page layout, navigation, aesthetics, color, typography, readability, graphics, multimedia, interactivity, and animation will be addressed. The student will also learn to perform critiques of existing Web sites based on design principles, functionality, and audience needs. **Any Science student (First Choice, Health, Pure and Applied, Environmental, ESP, DSP, etc) planning to take Introduction to Computer Programming in Engineering Science (360-420-DW) as a Science option must not take any Computer Science complementary course such as 420-BWC or 420-BXC. |
|
420-SN1-RE |
Programming in Science |
1 - 2 - 3 |
45 |
|
Description for Course: |
This course will introduce students to the basic building blocks (sequential, conditional, and repetitive control structures), modules (functions and libraries) and basic data types and structures used to write a software program. The students will learn how to analyze problems encountered in a scientific context, and then design, implement, and test algorithms. |
|
|