{"id":1669,"date":"2022-03-11T19:44:31","date_gmt":"2022-03-11T19:44:31","guid":{"rendered":"https:\/\/lassonde.yorku.ca\/eecs\/?post_type=academics&#038;p=1669"},"modified":"2024-01-31T21:00:57","modified_gmt":"2024-01-31T21:00:57","slug":"computer-science-bsc-ba-ibsc-iba","status":"publish","type":"academics","link":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/","title":{"rendered":"Computer Science (BSc, BA, iBSc, iBA)"},"content":{"rendered":"\n<div class=\"wp-block-cgb-text-with-video-modal-block\">\n    <div class=\"row text-with-video-row \">\n        <div class=\"column-small-12 column-medium-6 column-large-5 text-with-video-content-wrapper\">\n            \n                            <p>Learning about Computer Science is arguably one of the most important routes to understanding and participating in the world of the future.<\/p>\n<p>Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses including extensive lab work. You will learn the methodologies that lead to efficient and accurate software development, and you can choose from a wide range of application areas, including machine learning, robotics, graphics, user interface design and data mining.<\/p>\n<p>Lassonde has teamed up with a variety of companies to help you gain valuable professional experience. There is also an Industry Partnership\/Dev Degree option, in which some of your academic courses involve learning on the job as you work at Shopify throughout the 4-year program.<\/p>\n<p><\/p>\n            \n                    <\/div>\n\n        <div class=\"column-small-12 column-medium-6 column-large-offset-1 relative\">\n            <div class=\"text-with-video-image-wrapper\">\n                <div class=\"relative\">\n                                            <img decoding=\"async\" style=\"background: center \/ cover url('https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/sites\/6\/2022\/01\/Small_software-engineers-working-on-project-2021-08-26-17-32-30-utc-150x150.jpg') no-repeat\"\n                             src=\"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/sites\/6\/2022\/01\/Small_software-engineers-working-on-project-2021-08-26-17-32-30-utc.jpg\"\n                             alt=\"software engineers\"\n                             class=\"text-with-video-image\"\n                             loading=\"lazy\"\n                             width=\"975\"\n                             height=\"1060\">\n                    \n                                    <\/div>\n            <\/div>\n\n            <span class=\"icon-Collab_sr text-with-video-icon\"><\/span>\n        <\/div>\n    <\/div>\n\n    <\/div>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The BSc, BA, iBSc, iBA and International Dual Degree all allow you to explore learning beyond computer science. In the BA, you can complement your studies with courses from the Liberal Arts such as humanities, social sciences, history, philosophy and more \u2013 fields that help you understand human social and creative endeavours and the potential impact of computing. In the BSc, complementary courses will be in the sciences (e.g., biology, chemistry, physics). You can also formalize such studies through a degree minor or double major.<\/p>\n\n\n\n<p>Our International degrees give you the opportunity to learn computer science from a global perspective. Pick up a new language and study abroad as part of the iBA or iBSc degree. In the Dual Degree, you\u2019ll spend a year studying in Germany and Greece.&nbsp;<\/p>\n\n\n\n<p>Changing the world for the better, perhaps through artificial intelligence, data science, and other new fields of the future, requires more than a purely technical point of view. An awareness of impacts on the world and on our lives is a fundamental outcome of our programs.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-itemu002du002dsmall accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Program Requirements<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            A minimum of 30 course credits and at least half (50 percent) of the course credits required in each undergraduate degree program major\/minor must be taken at York University.<br><br>For requirements by program, visit <a href=\"https:\/\/calendars.students.yorku.ca\/\" target=\"_blank\" rel=\"noreferrer noopener\">York&#8217;s academic calendar.<\/a><br>        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Degree Checklists<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <a href=\"https:\/\/lassonde.yorku.ca\/student-life\/academic-support\" target=\"_blank\" rel=\"noreferrer noopener\">Degree Checklists<\/a>\u00a0are a complete listing of all program-specific courses required for successful graduation.         <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Skills you'll gain<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            \u2022 Advanced knowledge of C and Java \u2013 used for projects involving robotics, 3D graphics, software applications and app development<br><br>\u2022 MATLAB modelling software for signals, systems and digital communications processing<br><br>\u2022 Models and algorithms for data mining and machine learning<br><br>\u2022 Verilog circuit-modelling language, MIPS assembly language for embedded systems and FPGA circuit programming<br><br>\u2022 Software design models including design pattern and development<br><br>\u2022 Various networking tools including Wireshark<br><br>\u2022 Other languages including C++, Eiffel, Unix Shell, SQL\/mySQL database, and PHP        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Co-op Employers<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            \u2022 IBM<br><br>\u2022 Nascent<br><br>\u2022 Caseware<br><br>\u2022 CGI<br><br>\u2022 RBC<br><br>\u2022 Thales<br><br>\u2022 The Regional Municipality of York<br><br>\u2022 Ontario Ministry of Education<br><br>\u2022 Ontario Ministry of Training, Colleges and Universities        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Sample Courses (BSc Stream)<\/h2>\n\n\n\n<p id=\"margin-b-xs\"><strong><em>For information on course requirements for other streams, refer to degree checklists above)<\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center margin-b-xs has-text-color\" style=\"color:#993366\">First Year<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Fall<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Research Directions in Computing<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 1001, 3 Credits<br><\/strong><br>An introduction to research directions within the department and more broadly within the field. Students will attend lectures and other events organized by the department. Note: This course is expected to be completed in the first year of study.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Introduction to Computing: A Net-centric Approach<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 1012, 3 Credits<br><\/strong><br>The objectives of 1012 are threefold: providing a first exposure to event-driven programming, teaching students a set of computing skills (including reasoning about algorithms, tracing programs, test-driven development, unit testing), and providing an introduction to computing within a mobile, net-centric context. It uses a problem-based approach to expose the underlying concepts and an experiential laboratory to implement them. A mature mobile software infrastructure (such as HTML, CSS, and JavaScript) is used so that students can pick up key programming concepts (such as variables and control flow) within a client-server context without being bogged down in complex or abstract constructs. Laboratory exercises expose students to a range of real-world problems with a view of motivating computational thinking and grounding the material covered in lecture. Prerequisites: One of (1)-(3) below must be met: (1) (New high school curriculum): One 4U Math course with a grade of at least 75%. (2) Completion of six credits from York University MATH courses (not including courses with second digit 5) with a GPA of 5.00 or better over these credits; (3) Completion of six credits from York University mathematics courses whose second digit is 5, with an average grade not below 7.00 (B+). Course credit exclusions: AP\/ITEC 3020 3.00, SC\/CSE 2041 4.00 (prior to Summer 2013) Previously offered as: LE\/CSE 2041 4.00, LE\/EECS 2041 4.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Applied Linear Algebra<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>MATH 1025, 3 Credits<br><\/strong><br>Topics include spherical and cylindrical coordinates in Euclidean 3-space, general matrix algebra, determinants, vector space concepts for Euclidean n-space (e.g. linear\u00a0dependence and independence, basis, dimension, linear transformations etc.), an introduction to\u00a0eigenvalues and eigenvectors. Prerequisites: One 12U or OAC mathematics course or equivalent. Course\u00a0credit exclusions: SC\/MATH 1021 3.00, SC\/MATH 2021 3.00, SC\/MATH 2221 3.00, GL\/MATH\/MODR 26503.00. Prior to Fall 2009: Course credit exclusions: AK\/AS\/SC\/MATH 1021 3.00, AS\/SC\/MATH 2021 3.00,\u00a0AK\/AS\/SC\/MATH 2221 3.00, GL\/MATH\/MODR 2650 3.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Introduction to Statistics I<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>MATH 1131, 3 Credits<\/strong><br><br>Displaying and describing distributions; relations in categorical data; Simpson&#8217;s paradox and the need for design; experimental design and sampling design; randomization; probability laws and models; central limit theorem; statistical inference including confidence intervals and tests of significance; matched pairs; simulation. Prerequisite: At least one 12U mathematics course or equivalent is recommended. Course credit exclusion: SC\/MATH 2560 3.00, SC\/MATH 2930 3.00, GL\/MATH\/MODR 1610 3.00, SC\/BIOL 2060 3.00        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Winter<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Discrete Mathematics for Computer Science<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 1019, 3 Credits<\/strong><br><br>Introduction to abstraction. Use and development of precise formulations of mathematical ideas. An informal introduction to logic; introduction to na\u00efve set theory; induction; relations and functions; big O-notation; recursive definitions, recurrence relations and their solutions; graphs and trees. Prerequisites: SC\/MATH 1190 3.00, or two 4U Math courses, including MHF4U (Advanced Function). Course credit exclusions: LE\/EECS 1028 3.00, SC\/MATH 1028 3.00, SC\/MATH 2320 3.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Programming for Mobile Computing<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 1022, 3 Credits<\/strong><br><br>Provides the first exposure to object-oriented programming and enhances student understanding of key computing skills such as reasoning about algorithms, designing user interfaces, and working with software tools. It uses a problem-based approach to expose the underlying concepts and an experiential laboratory to implement them. A mature mobile software infrastructure (such as Java and the Android programming environment) is used to expose and provide context to the underlying ideas. Laboratory exercises expose students to a range of real-world problems with a view of motivating computational thinking and grounding the material covered in lectures. Prerequisite: LE\/EECS 1012 3.00 or LE\/EECS 1015 3.00. Course credit exclusions: LE\/EECS 1021 3.00, LE\/EECS 1020 3.00 (prior to Fall 2014), LE\/CSE 1020 3.00 (prior to Fall 2014), SC\/CSE 1020 3.00 (prior to Summer 2013), AP\/ITEC 1620 3.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Differential Calculus with Applications<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>MATH 1300, 3 Credits<\/strong><br><br>Limits, derivatives with applications, antiderivatives, fundamental theorem of calculus, beginnings of integral calculus. Prerequisite: SC\/MATH 1520 3.00 or SC\/MATH 1710 6.00, or 12U Calculus and Vectors (MCV4U) or equivalent. Course credit exclusions: SC\/MATH 1013 3.00, SC\/MATH 1505 6.00, SC\/MATH 1530 3.00, SC\/MATH 1550 6.00, GL\/MATH\/MODR 1930 3.00, AP\/ECON 1530 3.00; SC\/ISCI 1401 3.00, SC\/ISCI 1410 6.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Integral Calculus with Applications<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>MATH 1310, 3 Credits<\/strong><br><br>Transcendental functions, differential equations, techniques of integration, improper integrals, infinite series. Prerequisite(s): One of SC\/MATH 1013 3.00, SC\/MATH 1300 3.00, GL\/MATH 1901, SC\/ISCI 1401 3.00; for non-science students only, six credits from SC\/MATH 1530 3.00 and SC\/MATH 1540 3.00, SC\/MATH 1550 6.00, AP\/ECON 1530 3.00 and AP\/ECON 1540 3.00. Course credit exclusions: SC\/MATH 1014 3.00, SC\/MATH 1505 6.00, GL\/MATH\/MODR 1940 3.00, SC\/ISCI 1402 3.00, SC\/ISCI 1410 6.00.        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">Foundational science:<\/h2>\n\n\n\n<p class=\"has-text-align-center\">6 credits from SC\/BIOL 1000 3.00, SC\/BIOL 1001 3.00 (or SC\/BIOL 1010 6.00),<br>SC\/CHEM 1000 3.00, SC\/CHEM 1001 3.00, SC\/PHYS 1410 6.00 or<br>SC\/PHYS 1420 6.00 or SC\/PHYS 1010 6.00<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">Non-Science\/Electives<\/h2>\n\n\n\n<div style=\"height:170px\" aria-hidden=\"true\" id=\"second-year\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center margin-b-xs has-text-color\" style=\"color:#993366\">Second Year<\/h2>\n\n\n\n<div class=\"wp-block-columns margin-b-md is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Fall<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Introduction to Logic for Computer Science<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>MATH 1090, 3 Credits<\/strong><br><br>The syntax and semantics of propositional and predicate logic. Applications to program specification and verification. Optional topics include set theory and induction using the formal logical language of the first part of the course. Prerequisite: SC\/MATH 1190 3.00 or SC\/MATH 1019 3.00. Course credit exclusion: SC\/MATH 4290 3.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Introduction to the Theory of Computation<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 2001, 3 Credits<\/strong><br><br>Introduction to the theory of computing, including automata theory, formal languages and Turing machines; theoretical models and their applications in various fields of computer science. The emphasis is on practical applications of the theory and concepts rather than formal rigour. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); LE\/EECS 1021 3.00 or LE\/EECS 1022 3.00 or LE\/EECS 1720 3.00 or LE\/EECS 1030 3.00; LE\/EECS 1028 3.00 or SC\/MATH 1028 3.00 or LE\/EECS 1019 3.00 or SC\/MATH 1019 3.00. Previously offered as: LE\/CSE 2001 3.00. PRIOR TO SUMMER 2013: SC\/CSE 2001 3.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Advanced Object Oriented Programming<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 2030, 3 Credits<br><\/strong><br>This course continues the separation of concern theme introduced in LE\/EECS 1020 3.00 and LE\/EECS1021 3.00. While 1020 and 1021 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API. Topics include implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes); applications of aggregation and inheritance in concurrent programming and event-driven programming; recursion; searching and sorting including quick and merge sorts); stacks and queues; linked lists; binary trees. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); LE\/EECS1021 3.00 or LE\/EECS 1020 (prior to Fall 2015) 3.00 or LE\/EECS1022 3.00 or LE\/EECS 1720 3.00. Course credit exclusions: AP\/ITEC 2620 3.00. Previously offered as: LE\/EECS1030 3.00, LE\/CSE 1030 3.00.<br>        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Winter<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Fundamentals of Data Structures<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 2011, 3 Credits<br><\/strong><br>A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;), LE\/EECS 1030 3.00 or LE\/EECS 2030 3.00, LE\/EECS 1028 3.00 OR SC\/MATH 1028 3.00 or LE\/EECS 1019 3.00 or SC\/MATH 1019 3.00. Previously offered as: LE\/CSE 2011 3.00. The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and\/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Computer Organization<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 2021, 4 Credits<br><\/strong><br>Introduction to computer organization and instruction set architecture, covering assembly language, machine language and encoding, addressing modes, single\/multicycle datapaths (including functional units and controls), pipelining, memory segments and memory hierarchy. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); LE\/EECS 1021 3.00 or LE\/EECS 1022 3.00 or LE\/EECS 1720 3.00 or LE\/EECS 1030 3.00. Previously offered as: LE\/CSE 2021 4.00, SC\/CSE 2021 4.00.        <\/div>\n    <\/div>\n\n\n\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Software Tools<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 2031, 3 Credits<\/strong><br><br>Tools commonly used in the software development process: the C language; shell programming; filters and pipes; version control systems and &#8220;make&#8221;; debugging and testing. Prerequisites: Cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); one of LE\/EECS 1021 3.00 or LE\/EECS 1022 3.00 or LE\/EECS 1030 3.00 or LE\/EECS 1720 3.00        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">Non-Science\/Electives<\/h2>\n\n\n\n<div style=\"height:170px\" aria-hidden=\"true\" id=\"third-year\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center margin-b-xs has-text-color\" style=\"color:#993366\">Third Year<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Fall<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Design and Analysis of Algorithms<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 3101, 3 Credits<br><\/strong><br>Review of fundamental data structures. Analysis of algorithms: time and space complexity. Algorithm design paradigms: divide-and-conquer, exploring graphs, greedy methods, local search, dynamic programming, probabilistic algorithms, computational geometry. NP-complete problems. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); LE\/EECS 2011 3.00; SC\/MATH 1090 3.00; SC\/MATH 1310 3.00. Course credit exclusion: LE\/SC CSE 3101 3.00.        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-text-align-center\">Winter<\/h3>\n\n\n\n<div class=\"wp-block-cgb-accordion-block\">\n    <div class=\"accordion js-accordion\">\n<div class=\"wp-block-cgb-accordion-item-block accordion-item js-accordion-item accordion-item--small\">        <button type=\"button\" class=\"accordion-title js-accordion-title\">Software Design<\/button>\n\n        <div class=\"accordion-body js-accordion-body\">\n            <strong>EECS 3311, 3 Credits<br><\/strong><br>A study of design methods and their use in the correct implementation, maintenance and evolution of software systems. Topics include design, implementation, testing, documentation needs and standards, support tools. Students design and implement components of a software system. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit &#8220;5&#8221;); LE\/EECS 2030 3.00 or LE\/EECS 1030 3.00; LE\/EECS 2011 3.00; SC\/MATH 1090 3.00; LE\/EECS 2031 3.00 or LE\/EECS 2032 4.00. Course Credit Exclusions: LE\/CSE 3311 3.00        <\/div>\n    <\/div>\n<\/div>\n    <script>\n    require([\n        'kindling',\n        'kindling\/plugins\/accordion'\n    ], function (K) {\n        new K.Accordion($('.js-accordion'), {allowAllClosed: true, multiExpand: true});\n    });\n    <\/script>\n\n    <\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:66px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">At least 3 credits from<\/h2>\n\n\n\n<p class=\"has-text-align-center\">LE\/EECS 3215 4.00, LE\/EECS 3221 3.00<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">At least 3 credits from<\/h2>\n\n\n\n<p class=\"has-text-align-center\">LE\/EECS 3401 3.00, LE\/EECS 3421 3.00, LE\/EECS 3461 3.00<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">At least 6 additional credits from<\/h2>\n\n\n\n<p class=\"has-text-align-center\">computer science courses at the 3000 level, for an overall total of at least 44 credits<br>from computer science courses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" style=\"color:#993366\">General Education\/Electives<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>The BSc, BA, iBSc, iBA and International Dual Degree all allow you to explore learning beyond computer science. In the BA, you can complement your studies with courses from the Liberal Arts such as humanities, social sciences, history, philosophy and more \u2013 fields that help you understand human social and creative endeavours and the potential&#8230;<\/p>\n","protected":false},"author":90,"featured_media":10000030687,"parent":602,"menu_order":0,"template":"","format":"standard","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"692,1","_relevanssi_noindex_reason":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[],"tags":[],"class_list":["post-1669","academics","type-academics","status-publish","format-standard","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science<\/title>\n<meta name=\"description\" content=\"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science\" \/>\n<meta property=\"og:description\" content=\"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/\" \/>\n<meta property=\"og:site_name\" content=\"Electrical Engineering and Computer Science\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-31T21:00:57+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/\",\"url\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/\",\"name\":\"Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg\",\"datePublished\":\"2022-03-11T19:44:31+00:00\",\"dateModified\":\"2024-01-31T21:00:57+00:00\",\"description\":\"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.\",\"breadcrumb\":{\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage\",\"url\":\"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg\",\"contentUrl\":\"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lassonde.yorku.ca\/eecs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Undergraduate\",\"item\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Future Students\",\"item\":\"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Computer Science (BSc, BA, iBSc, iBA)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lassonde.yorku.ca\/eecs\/#website\",\"url\":\"https:\/\/lassonde.yorku.ca\/eecs\/\",\"name\":\"Electrical Engineering and Computer Science\",\"description\":\"Just another Lassonde - Site Network Sites site\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lassonde.yorku.ca\/eecs\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science","description":"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/","og_locale":"en_US","og_type":"article","og_title":"Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science","og_description":"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.","og_url":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/","og_site_name":"Electrical Engineering and Computer Science","article_modified_time":"2024-01-31T21:00:57+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/","url":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/","name":"Computer Science (BSc, BA, iBSc, iBA) | Electrical Engineering and Computer Science","isPartOf":{"@id":"https:\/\/lassonde.yorku.ca\/eecs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage"},"image":{"@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage"},"thumbnailUrl":"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg","datePublished":"2022-03-11T19:44:31+00:00","dateModified":"2024-01-31T21:00:57+00:00","description":"Our Computer Science program will equip you with both foundational knowledge and applied skills, using a blend of hardware and software courses.","breadcrumb":{"@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#primaryimage","url":"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg","contentUrl":"https:\/\/lassonde.yorku.ca\/eecs\/wp-content\/uploads\/Small_computer-science-college-student-2021-09-04-12-08-13-utc.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/computer-science-bsc-ba-ibsc-iba\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lassonde.yorku.ca\/eecs\/"},{"@type":"ListItem","position":2,"name":"Undergraduate","item":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/"},{"@type":"ListItem","position":3,"name":"Future Students","item":"https:\/\/lassonde.yorku.ca\/eecs\/academics\/undergraduate\/future-students\/"},{"@type":"ListItem","position":4,"name":"Computer Science (BSc, BA, iBSc, iBA)"}]},{"@type":"WebSite","@id":"https:\/\/lassonde.yorku.ca\/eecs\/#website","url":"https:\/\/lassonde.yorku.ca\/eecs\/","name":"Electrical Engineering and Computer Science","description":"Just another Lassonde - Site Network Sites site","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lassonde.yorku.ca\/eecs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/academics\/1669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/academics"}],"about":[{"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/types\/academics"}],"author":[{"embeddable":true,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/users\/90"}],"version-history":[{"count":35,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/academics\/1669\/revisions"}],"predecessor-version":[{"id":3044,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/academics\/1669\/revisions\/3044"}],"up":[{"embeddable":true,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/academics\/602"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/media?parent=1669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/categories?post=1669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lassonde.yorku.ca\/eecs\/wp-json\/wp\/v2\/tags?post=1669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}