Consider this — all our grads in this program have found a job in their chosen field within two years of graduation. We are tied for first in graduate employment rate. You’ll have a strong foundation in the application of computer technology in industry and commerce. You’ll gain insight into the latest technologies from our dedicated professors.
Taking Computer Science at University of Windsor has allowed me to explore so many different fields and topics that now I have a much better idea of what I want to achieve in my future. From data structures to website design classes, I've gained useful knowledge in various areas thanks to the amazing faculty and meaningful friendships. Additionally, I've had the unique experience of taking on a co-op position at the University, which has helped me gain valuable connections and real-world experience with modern web development techniques in a fast-paced team and environment. Overall, the program has certainly paved a bright pathway for my future by preparing me for the ever advancing computer science industry.
Ashad
Web & Digital Project CoordinatorAfter the first day I started playing video games, I knew I wanted my future job to do something with them. I am now studying computer science and hopefully will be able to program games of my own soon. It took me years of researching in different fields before I knew what path I wanted to choose in life. Although I know the expectation of figuring life out and choosing your future job when you’re a teenager could be a confusing process, I would be glad to help you in this journey. Come find me at Head Start this summer to put any confusion to rest before attending the University of Windsor in the fall :)
Parmida
Student AmbassadorCourse Requirements: Advanced Functions/MHF4U, English/ENG4U
Strongly Recommended: Calculus & Vectors/MCV4U
Minimum Average: 70% (70% average of math courses)
Minimum Average (Co-op): 75% (Co-op Programs: 75% + 70% average in all attempted math courses, excluding Data Management/MDM4U)
Mean Average: 86%
Course Requirements: Grade 12 Advanced Functions. Grade 12 English.
Strongly Recommended: Grade 12 Calculus & Vectors
Minimum Average: 70% (70% average of math courses)
Minimum Average (Co-op): 75% (Co-op Programs: 75% + 70% average in all attempted math courses, excluding Grade 12 Data Management)
Mean Average: 82%
This program is available with or without Co-op. See Program and Co-operative Education Regulations in the Undergraduate Course Calendar.
Total courses: forty.
The major average will be calculated on the basis of grades obtained in COMP-1000, COMP-1400, COMP- 1410, COMP-2120, COMP-2540, COMP-2560, COMP-2650, COMP-2660, COMP-3150, COMP-3220, COMP-3300, COMP-3340, COMP-3400, COMP-4990, ACCT-1510, ACCT-2550, FINA-2700, MKTG-1310, and STEN-1000.
Ten courses, including ECON-1100, ECON-1110, COMP-1000, COMP-1400, COMP-1410, MATH-1250 (or MATH-1260), MATH-1720 (or MATH-1760), ACCT-1510, and STEN-1000.
An introduction to microeconomics intended to provide students with the tools necessary to begin to understand and evaluate how resources are allocated in a market economy. Specific topics include how markets function, theories of the business firm, of consumer behaviour and of income distribution. The economic roles of labour unions and government are also covered. The theories are applied to contemporary Canadian economic problems.
This course is an introduction to macroeconomics. The emphasis is upon measuring and explaining what determines economic aggregates such as the total national product (GDP) and the level of prices and employment. The role of money and financial institutions, the impact of international trade and the policy options available to governments for coping with inflation and unemployment are discussed in detail.
The objectives of this course are to excite students’ interest in computer science and to give students a precise understanding of a number of difficult concepts that are fundamental to modern computer science. Topics may include: induction and recursion; algebraic characterization; syntax; semantics; formal logic; soundness, completeness, and decidability; specification, algorithm, and determinism; complexity. (Restricted to students registered in programs offered wholly or jointly by Computer Science or by Mathematics and Statistics, or with approval of Computer Science.) (3 lecture hours and 1.5 laboratory hours a week).
This course is the first of a two-course sequence designed to introduce students to algorithm design and programming in a high-level language such as C. The main objectives of the course are to develop the ability to identify, understand and design solutions to a wide variety of problems. Topics include: computer system overview, hardware and software, problem solving steps, concepts of variables, constants, data types, algorithmic structure, sequential logic, decisions, loops, modular programming, one-dimensional arrays, text files. If possible, problems like searching/sorting will be addressed. (3 lecture hours and 1.5 laboratory hours a week).
This course is the continuation of COMP-1400 that introduces students to more advanced algorithm design and programming in a high level language such as C. The main objectives of the course are to develop the ability to identify, understand, and design solutions to a wide variety of problems. Topics covered include: multi-dimensional arrays, pointers, strings, advanced modular programming, records, binary files, recursion, stacks, linked lists and introduction to algorithm analysis. (Prerequisite: COMP- 1000 (or MATH-1720) and COMP-1400.) (3 lecture and 1.5 laboratory hours a week).
This course will cover linear systems, matrix algebra, determinants, n-dimensional vectors, dot product, cross product, orthogonalization, eigenvalues, eigenvectors, diagonalization and vector spaces. (Prerequisites: Both Ontario Grade 12 Advanced Functions (MHF4U) and Calculus and Vectors (MCV4U) or MATH-1280.) (Antirequisites: MATH-1260, MATH-1270.) (3 lecture hours, 2 tutorial hours per week.)
This course is for students without Ontario Grade 12 Calculus and Vectors (MCV4U). The course MATH- 1250 is for students with MCV4U. This course will cover vectors, three-dimensional geometry, linear systems, matrix algebra, determinants, n- dimensional vectors, dot product, cross product, orthogonalization, eigenvalues, eigenvectors, diagonalization and vector spaces. The course is equivalent to MATH-1250 for all prerequisite purposes. (Prerequisite: Ontario Grade 12 Advanced Functions (MHF4U).) (Antirequisites: MATH-1250, MATH-1270.) (4 lecture hours, 2 tutorial hours per week.)
This course will cover trigonometric functions and identities, inverse trigonometric functions, limits and continuity, derivatives and applications, mean value theorem, indeterminate forms and l’Hôpital’s rule, antiderivatives and an introduction to definite integrals. This course is for students who have taken both Ontario Grade 12 Advanced Functions (MHF4U) and Ontario Grade 12 Calculus and Vectors (MCV4U). Students who do not have credit for MCV4U should take MATH-1760. (Prerequisites: Ontario Grade 12 Advanced Functions (MHF4U) and Ontario Grade 12 Calculus and Vectors (MCV4U) or MATH-1780.) (Antirequisite: MATH-1760.) (3 lecture hours, 1 tutorial hour per week.)
This course will cover a review of functions, trigonometric functions and identities, transcendental functions, inverse trigonometric functions, introduction to limits, continuity, derivatives and applications, mean value theorem, indeterminate forms and l’Hôpital’s rule, antiderivatives and an introduction to definite integrals. This course is for students who have taken Ontario Grade 12 Advanced Functions (MHF4U), but have not taken Ontario Grade 12 Calculus and Vectors (MCV4U). Students who have credit for MCV4U should take MATH-1720. The course is equivalent to MATH-1720 for all prerequisite purposes. (Prerequisite: Ontario Grade 12Advanced Functions (MHF4U).) (Antirequisite: MATH-1720.) (4 lecture hours, 1 tutorial hour per week.)
An introduction to the theory and concepts of financial accounting including generally accepted accounting principles and issues as to classification, recognition, realization, measurement and the ethics of financial reporting. The emphasis of the course is from the perspective of the user of accounting information, allowing the student to become familiar with the information available and its content value. (Prerequisites: ECON-1100, MATH-1980/MATH-1250/ MATH-1720/ MATH-1760 (or equivalent) and STEN-1000).
This course takes a holistic approach in helping students develop an understanding of their future places, as entry-level managers, in business and other forms of organizations. Functional business learning is undertaken using the lecture method. In parallel, the basic elements of strategic management are introduced in order to develop students’ strategic thinking capabilities. Project work focuses on adapting students’ career strategies to the employment environment, and on adapting companies’ strategies to their competitive environments. Finally, the case method is used to emphasize ethical self-management, group dynamics and organizational governance, and entrepreneurial processes involved in starting and managing a small business. The course demands that students: use their initiative; develop their analytical, decision-making and interpersonal management skills; and take responsibility for achieving success.
Ten courses, including COMP-2120, COMP-2540, COMP-2560, COMP-2650, COMP-2660, STAT-2910, and MKTG-1310, ACCT-2550 and FINA-2700;
Concepts of classes and objects, Java applications, frames, event handling, control structures, methods, arrays, string manipulations, object-based programming, object-oriented programming – inheritance, polymorphism, interface and abstract classes, anonymous classes, data structures in Java, exception handling, introduction to graphical user interface. (Prerequisite: COMP-1410 or COMP-2087.) (3 lecture hours and 1.5 laboratory hours a week)
An introduction to the programming and analysis of linear and non-linear internal (main store) data structures and associated algorithms. Topics include the formal notion of an algorithm, elementary time and space complexity; linear lists (such as stacks, queues, linked structures.); non-linear lists (trees, binary trees); recursion; sorting techniques (such as heap sort, quick sort, merge sort, shell sort.); searching techniques (such as binary search, binary search trees, red-black trees, hashing.); algorithm design paradigms (such as divide-and-conquer, dynamic programming, greedy algorithms); and applications. (Prerequisite: COMP-1000 and COMP-1410. Restricted to Computer Science students or permission of the School of Computer Science.) (3 lecture hours and 1.5 laboratory hours a week.)
This course introduces students to advanced software development techniques in system programming using the C language in the UNIX environment. Topics include introduction to modern operating systems, system calls, managing processes, the use of fork and exec, signals, file processing, filters, pipes, scripting languages, introduction to concurrency (e.g. synchronization), network programming (e.g. using sockets), client-server problems. (Prerequisite: COMP-1410 or COMP-2087)(3 lecture hours and 1.5 laboratory hours a week)
This course covers fundamental concepts of digital design and CPU architecture. Topics covered include number systems, switching algebra, logic gates, circuit minimization combinational circuit, read-only memory, random-access memory, programmable logic, synchronous and asynchronous sequential circuits, latches, flip-flops, registers, counters, register transfer language. and CPU architecture overview. (Prerequisite: COMP-1400 or COMP-2087) (3 lecture hours and 1.5 laboratory hours a week).
This course uses microprocessor programming to explore the structure of a CPU and related components. Topics include data representation, central processing unit, arithmetic logic unit, control unit, assembly language concepts, memory segmentation, programming a typical microprocessor (e.g. Intel processors), instruction set architecture-addressing modes and formats, register set, runtime stack, floating point processor. (Prerequisite: COMP-2650). (3 lecture hours and 1.5 laboratory hours a week)
This course will cover descriptive statistics, probability, discrete and continuous distributions, point and interval estimation, hypothesis testing, goodness-of-fit and contingency tables. (Prerequisite: Grade 12 “U” Advanced Level Mathematics (MHF4U, MCV4U, MDM4U) or Grade 11 Functions and Applications (MCF3M) or Grade 11 Functions (MCR3U).) (Course equivalencies and antirequisites as stated in the University of Windsor Senate Policy on Introductory Statistics Courses.) (May not be taken for credit after taking STAT-2920 or STAT-2950.) (3 lecture hours, 1 tutorial hour per week.)
An introduction to the principles, concepts and techniques of marketing. A significant objective of the course is the development of a basic understanding of the marketing process and its role in the organization, in the economy, and in global markets.
An introduction into management’s use of internal accounting information for planning, managing, controlling and evaluation of business operations. Topics include cost concepts and costing techniques (including activity-based costing), budgeting, cost-volume-profit analysis, standard costing, performance evaluation and product pricing. (Prerequisite ACCT-1510 or consent of instructor).
This course serves as an introduction to the area of business finance. The primary objective is to understand the fundamental concepts and principles of financial management of the business enterprise. After an introduction to the goal financial management, the course will cover the valuation of financial and real investments, risk and return, financial analysis, planning and control, and working capital management. International financial management will also be introduced. (Prerequisites: ACCT- 1510, MATH-1980/MATH-1980/MATH-1250/ MATH-1720/ MATH-1760 or equivalent, and STEN-1000. Additional prerequisites for Business students: MGMT-1000 and MSCI-1000.)
Ten courses, including COMP-3150, COMP-3220, COMP-3300, COMP-3340, and COMP-3400.
This course will acquaint students with the Basic concepts of Database Systems. The topics covered will include 3-level architecture, introduction to file structures: B-trees, B+ Trees and Hashed files, relational model, relational algebra and calculus, SQL, and database design with Normalization Theory. (Prerequisite: COMP-2540 and COMP-2560 or COMP-2650.) (3 lecture hours a week)
This course builds on the knowledge of object-oriented programming, data structures, systems programming. Students are introduced to object-oriented software analysis and design concepts (such as cohesion and coupling), and design practices currently used in industry , (such as design patterns and refactoring). These concepts and practices will be discussed through case studies and programming exercises. (Prerequisite: COMP-2120 and COMP-2540)(3 lecture hours a week)
Operating system services, introduction to primary components of multi-programming operating systems, CPU scheduling, concurrent processes, process synchronization and interprocess communication, deadlocks, memory management, file systems, virtual memory, disk scheduling. (Prerequisite: COMP-2120, COMP-2540, COMP-2560, and COMP-2650 or COMP-2660.)(3 lecture hours a week)
This course is designed for people who want to make their data available to others over the Internet. Topics will include WWW authoring, WWW site planning, executable programs that create dynamic documents, the client-server model, multi-tier WWW software architecture, and security aspects. (Prerequisite: COMP-2120 and COMP-2540.) (3 lecture hours a week)
The main objective of this course is to explore advanced topics of the object oriented paradigm through the use of the C++ programming language. Topics covered include: advanced object oriented design, the use of abstraction to manage complexity, objects and classes, inheritance and class hierarchies, multiple inheritance, operator and method overloading, namespaces and visibility, templates, dynamic binding and virtual functions, exception handling, multi-threading and C++ standard library. In addition, the course will include a practical project, solving a real-life problem, implemented in C++, involving the client/server methodology, and an interface to a database using a graphics toolkit. (Prerequisites: COMP- 2120, COMP-2560.) (3 lecture hours a week)
Ten courses, including COMP-4990 (a 6.0 credit hour course) and two Computer Science courses at the 3XXX or the 4XXX level.
This course requires students to complete an application development project in some area of Computer Science under the supervision of a faculty member. The course will typically involve the development of some software or the design and/or implementation of some algorithm. Students will be required to submit project reports and give presentations on the technical components of the project. (a 6 credit course restricted to Semester 7 or Semester 8 students in Computer Science.) (Antirequisite: COMP- 4960.) (3 lecture hours or equivalent a week, for two terms.)
The University of Windsor sits on the traditional territory of the Three Fires Confederacy of First Nations, which includes the Ojibwa, the Odawa, and the Potawatomi. We respect the longstanding relationships with First Nations people in this place in the 100-mile Windsor-Essex peninsula and the straits – les détroits – of Detroit.