Computer Programmer Analyst Ontario College Advanced Diploma
ObjectivesThis program, Computer Programmer Analyst, is the most intensive of our programming focused programs. It is a three year co-operative education Ontario College Advanced Diploma program designed to provide in-depth training in specific areas of commercial, corporate and recreational software development. An emphasis is placed on object-oriented development in Web, Windows and Linux based client/server environments. Current standard process and modelling methodologies are utilized under prevailing project management techniques to produce reliable, efficient and secure systems. Projects are developed using advanced tools such as Visual Studio .NET, gcc, XML, J2EE, MS-SQL Server and Oracle. Language studies focus on C++ and Java but also include C#, ASP.NET, JSP and SQL as well as specialized topics such as component based programming, graphics with DirectX and Direct3D as well as Web services and tiered client/server architectures. Students learn to develop software starting with the fundamental approaches to programming, then, gradually, move toward complete inception-to-deployment team-based development using state-of-the-art tools and techniques. Students are prepared for several industry standard certifications and are ready to begin in a wide variety of areas; they learn with technology and business cases from the financial, manufacturing, wholesale, retail, service, medical, scientific, engineering and entertainment industries.
Practical experienceThis three year program has three co-op work terms.
Academic titleComputer Programmer Analyst Ontario College Advanced Diploma
Course descriptionLevel 1 Credits
Take all of the following Mandatory Courses:
Level 2 Credits
Take all of the following Mandatory Courses:
BUSI-1005 Introduction to Business Processes 3.00
INFO-1148 Web Design 4.00
INFO-3061 Object Oriented Programming with Java 3.00
INFO-3093 Relational Databases & SQL 4.00
INFO-1155 Object Oriented Programming with C++ 3.00
MGMT-3052 Understanding Workplace Behaviours 3.00
Level 3 Credits
Take all of the following Mandatory Courses:
INFO-3070 Client/Server Application Development 3.00
INFO-5052 Advanced Databases 3.00
INFO-5055 OO Analysis & Modeling 6.00
MATH-3045 Mathematics of Computing 3.00
COMM-3047 Communication for IT Professionals 3.00
Level 4 Credits
Take all of the following Mandatory Courses:
INFO-3067 ASP.NET Programming with C# 3.00
INFO-3071 Windows GUI Development with .NET 3.00
INFO-5051 Java-Adv 3.00
INFO-5056 Concurrent Processing 3.00
INFO-5064 Web Programming with XML 3.00
INFO-5058 DirectX Computer Graphics 3.00
Level 5 Credits
Gen Ed - Take a 3 credit General Education elective course
Take all of the following Mandatory Courses:
INFO-5062 Patterns in Software 3.00
INFO-3069 Web Applications & Technologies 3.00
INFO-5063 3D Graphics & Animation 3.00
INFO-5060 Component-based Programming with .NET 3.00
MGMT-3036 Professional Development-Career Planning 3.00
BUSI-1064 Marketing & eCommerce-Intro 3.00
Level 6 Credits
Gen Ed - Take a 3 credit General Education elective course
Take all of the following Mandatory Courses:
INFO-5061 Managing Software Projects-Applied 6.00
INFO-3068 Secure Computing 3.00
INFO-5059 Java Client/Server Applications 3.00
INFO-5083 Concurrent Processing 2 3.00
Gen Ed - Electives
Take 6 General Education Credits -
Normally taken in Levels 5 and 6
BUSI-1005 - Introduction to Business Processes
The purpose of this course is to explore the various functional areas of business in Canada and to demonstrate the interrelationship among these areas. Students are introduced to many concepts, including major business trends, the role of government in business, marketing, operations, employee-management issues, financial resources management, business ethics, social responsibility and community-related philanthropy.
BUSI-1060 - Strategies for Success
This course presents and helps to develop some of the skills required to achieve college and career success. Areas of focus include: goal-setting, time management, note-taking from texts and lectures, study skills, test preparation strategies, and managing college life.
BUSI-1064 - Marketing & eCommerce-Intro
This course introduces students to the concepts of marketing products and services on the World Wide Web. The emphasis will be on the development of strategies that can be applied within large corporate and institutional settings as well as small entrepreneurial endeavors. Numerous examples of successful web marketing companies will be studied.
COMM-3047 - Communication for IT Professionals
This course develops IT students' business andtechnical communication skills in both oral andwritten formats. Students produce a variety ofwork-related documents appropriate for aprofessional, technological environment. Thesedocuments include an operational manual, shortreports, proposals, letters, memos, and e-mails.Students use standard electronic communicationtechnologies in this course and submit allassignments through FOL.
INFO-1119 - Operating Systems&Hardware Fundamentals
This course deals with the concepts of computer hardware and software structure. It includes the components of a computer and how they relate to one another. In addition, the parts of the operating system and how they work together with the hardware to support application programs will be described.
INFO-1120 - Database Fundamentals
This course is an introduction to the design and development of database systems. A data-modeling tool based upon the Unified Modeling Language will be used to capture and refine the student's database designs. Subsequently, these designs will be transformed into a working database. The student will have an opportunity to develop a complete database application using two current relational database products.
INFO-1135 - Networking Fundamentals-CCNA1
This course provides students with a comprehensive overview of networking; from fundamentals to advanced applications, thereby providing a solid foundation upon which to build their Local Area Network (LAN) and Wide Area Network (WAN) training. It is based on a top-down approach to networking and emphasizes the concepts and skills required to design networks, while providing opportunities for practical application and hands-on experience by teaching students how to install, operate, and maintain networks.
INFO-1148 - Web Design
This course will focus on Web-based applications that are becoming prevalent due to the adoption of browser application interface and e-commerce strategies in the workplace. Students will learn to design and create customer-oriented Web sites, deploying the latest web standards. They will learn how to publish online and optimize a site including marketing.
INFO-1150 - Programming Fundamentals
This course is an introduction to the fundamentalconcepts of computer software design andconstruction. Students will first use anobject-based learning environment to learn how towork with objects and methods. They will thentransition to a production programming language towrite programs to solve common problems.
INFO-1155 - Object Oriented Programming with C++
This course is an introduction to the fundamentalsconcepts, tools and techniques used by softwaredevelopers to build object-oriented solutionsusing the C++ language.
INFO-3061 - Object Oriented Programming with Java
The course will continue on from the INFO1136 Programming Fundamentals course. Students will be introduced to the use of various collection objects such as ArrayLists, Lists, and Vectors to store and retrieve data. The focus will then shift to object-oriented programming fundamentals. Students will write classes to create objects that will demonstrate the operation of inheritance and polymorphism. Object-oriented development using UML analysis techniques and notation will be introduced.Java’s exception handling model will be introduced as a way of improving program robustness. A brief exploration of recursive methods will be done. Finally, students will be introduced to the basics of GUI programming and event-driven programming in Java.
INFO-3067 - ASP.NET Programming with C#
In this course the student will be working directly withASP.Net (Active Server Pages) to understand how ASP.Net is an effective solutionto building intranet/internet applications. By working with otherWindows based server components such as IIS, SQL Server, the .Net framework,and ADO.NET the student will also learn how they interact with one another.
INFO-3068 - Secure Computing
From the most sophisticated automated exploit tools to a toy whistle from a box of Captain Crunch cereal, over several decades hackers and crackers have abused system defects for fun and profit. This course focuses on how software developers can build “hardened” systems that are more resistant to attacks preventing financial losses and damage to the organization’s reputation. Not only will students learn how attackers think and operate but will apply that knowledge to secure and improve common web applications.
INFO-3069 - Web Applications & Technologies
The main focus for this course is to provide the student with the opportunity to work with several specialized web and internet related development strategies. The work will be based on selected topics chosen by the faculty member and will typically involve products and practices from either Microsoft or non-Microsoft (LAMP) environments. The emphasis will be on working with leading edge technologies.As the Internet is a continuously evolving entity, students need the opportunity to work with the latest and most innovative web development practices. Since each offering of this course may have different applied content from previous offerings, students completing this course in their final year of study will be well prepared for this particular job market.
INFO-3070 - Client/Server Application Development
This course helps the student to learn how client/server applications are designed and deployed. Projects utilize Microsoft's Visual Basic.NET and/or C#.NET in conjunction with Microsoft's SQL Server to allow the student to develop business applications.
INFO-3071 - Windows GUI Development with .NET
This course provides the student with a hands-on exposure tothe development of graphical user interfaces using C# and the Microsoft .NETFramework classes. The main focus will be on designing and programmingeffective business based data collection and display applications. In addition,students will have opportunities to enhance their general understanding of bothgeneric and specific user interface design principles.Working in an industry where users interact withsoftware in a number of different ways, including web applications, desktopapplications and handheld devices, students need to learn how to createdifferent interfaces for different systems and this course provides thefoundation for that skill set.
INFO-3093 - Relational Databases & SQL
This course builds on the concepts of the relational database presented in INFO1120 Database Fundamentals and introduces the student to larger client/server database systems. Oracle is used as the database platform to demonstrate the operation of larger multi-user systems.Upon completion the student will have demonstrated the ability to: solve problems by designing database entities base on real world scenarios, execute mathematical operations accurately by planning database sizes, as well as analyze, evaluate, and apply relevant information from a variety of sources from the internet. In particular emphasis is placed on mastering the fundamentals of Structured Query Language (SQL) for creating and maintaining database objects, complex queries, and the tool to perform typical database administrative tasks.
INFO-5051 - Java-Adv
This third course in Java focuses on gaining familiaritywith the vast collection of packages and classes in the Java API to createprograms that will be used in creating solutions for general businessapplications.
INFO-5052 - Advanced Databases
This course will continue to build on knowledge that students have acquired from previous database courses. Students will be expected to design, implement and administer a database in the SQL Server environment. Advanced topics such as stored procedures, triggers, reporting, and various other complex administrative tasks will be covered.
INFO-5055 - OO Analysis & Modeling
Object-oriented analysis and modeling has become the standard for developing rigorous, commercial-grade software and C++ the most influential and powerful object-oriented language. This course is an introduction to the fundamental concepts, tools and techniques used by software developers to build correct object-oriented solutions. It will explore how the Unified Process (UP) and Unified Modeling Language (UML) can be used to support software development in C++. The object-oriented features of C++ will be studied and how those features support UP/UML driven development.
INFO-5056 - Concurrent Processing
Once a rarity, multi-core processors are now standard - both in desktop PC, laptops and game consoles. In this course, single machine concurrent processing is studied. Concepts such as processes and threads, pseudo and true parallelism, deadlocks and race conditions will be learned. Simple mechanisms for inter-thread communications will be examined.
INFO-5058 - DirectX Computer Graphics
Computer graphics, whether for games, business graphics, science or engineer has become a major part of commercial software development. Direct3D technologies are used for rendering high performance graphics on the Xbox, on Microsoft Windows Vista's Aero technologies, and the majority of PC games and 3D graphics applications. This course is an introduction to 3D rendering using Direct3D on the Windows PC platform.
INFO-5059 - Java Client/Server Applications
The main focus of this course is to develop server side applications in Java to work with browser based clients. In particular the student will develop and maintain projects utilizing the Java Enterprise Edition (JEE) architecture. Specific API’s include but are not limited to: Servlet, JSP/JSF, JDBC, Tag, XML, and EJB technologies.
INFO-5060 - Component-based Programming with .NET
The expanding accessibility of the internet and other types of computer networks provides growing incentive for creating applications from program components which can be distributed and shared across a network. Distributed programming under Windows went from exotic to mainstream when Microsoft introduced Distributed COM in the 1990s. In recent years Microsoft's .NET technology has given developers an easier-to-use, more intuitive platform for constructing component-based distributable applications. In this course students will learn to create software components in C# .NET and utilize them to configure distributed applications.
INFO-5061 - Managing Software Projects-Applied
This project-based course is designed to allowstudents to demonstrate the various softwaredevelopment skills that they have been exposed toin previous course offerings. Students are whollyresponsible for the entire project developmentlifecycle. Adherence to standard developmentprocesses and the use of standard modelingtechniques is a must for this course. Projectplanning and tracking as well as deliverabledocuments will be required throughout thedevelopment process. Students will work in projectteams using various tools to develop a singlecomprehensive solution. The solution that theydevelop can be used as part of a portfolio forsecuring employment upon graduation.
INFO-5062 - Patterns in Software
In this course, object-oriented softwareconstruction is studied in the context ofdeveloping software libraries and classframeworks. A survey of design patterns ispresented with examinations and implementations ofseveral patterns. The student will bring togethertheir knowledge from this and all previous C++courses to produce a multi-platform highperformance socket library.
INFO-5063 - 3D Graphics & Animation
The student will be able to design and developinteractive applications (game, simulation) usingMicrosoft's DirectX API. The student will be ableto produce a real-time, interactive graphicalapplication, utilizing Direct3D, DirectInputdevices, DirectSound and DirectPlay.
INFO-5064 - Web Programming with XML
XML itself is a simple and flexible format for representing text-based data. Its claim to fame is that it has become the language of choice for exchanging data on the Web. While XML is simple and easy to learn, there are many other web development technologies that rely on or enhance the use of XML. This is a skills-oriented, survey-style course that will introduce the student to XML and some of the more popular and important related technologies.
INFO-5083 - Concurrent Processing 2
Super-computing has become the backbone of today'shigh-tech research and development. Clustercomputing makes supercomputing affordable andscalable. In this course, multiple-machineconcurrent processing (cluster computing) isstudied using MPI on a Linux/Beowulf cluster.
MATH-3045 - Mathematics of Computing
This course will provide the student with the mathematics foundation required for programming in business, science or engineering. Emphasis will be placed on practical applications within computing systems.
MGMT-3036 - Professional Development-Career Planning
This course introduces the student to the nature and role of Human Resource functions in an organization, with a focus on the implications for personal career management. Human resources planning and processes will be explored through class discussion, research and case study, from the perspectives of the employer and the employee / job applicant. Work search skills and resume writing will be included, along with an individual career management project.
MGMT-3052 - Understanding Workplace Behaviours
This course provides a broad understanding of the workplace by investigating individual, group and organizational behaviours. Students will be given the opportunity to assess their own behaviours while observing and discussing the diverse behaviours of others as they interact in various capacities, situations and assorted environments. By studying human social behaviour under the context of an organization, students should experience an easier transition while adjusting to any changes in future workplace and/or career choices.
WRIT-1034 - Reason & Writing 1 - EAP
This course will introduce students whose first language is not English to essential principles of reading, writing, and reasoning at the postsecondary level. Students will identify, summarize, analyze, and evaluate multiple short readings and write persuasive response essays to develop their vocabulary, comprehension, grammar, and critical thinking. Special attention will also be paid to developing academic vocabulary, correcting common ESL errors, enhancing academic listening and note-taking skills, and improving oral fluency and confidence.
WRIT-1043 - Reason & Writing 1 for IT
This course will introduce information technologystudents to essential principles of reading,writing, and reasoning at the postsecondary level.Students will identify, summarize, analyze, andevaluate multiple short readings and writepersuasive response essays to develop theirvocabulary, comprehension, grammar, and criticalthinking.