IS Study Plan: Some CS Background
Term I Course # Course Name MA 115 Calculus I Functions of one variable, limits, continuity, derivatives, chain rule, maxima and minima, exponential functions and logarithms, inverse functions, antiderivatives, elementary differential equations, Riemann sums, the Fundamental Theorem of Calculus, vectors and determinants.
3-0-6 CS 115 Introduction to Computer Science This is an introductory programming course using the Java language. The topics include: basic facts about object-oriented programming and Java through inheritance and exceptions; recursion; UML diagrams and how to read class diagrams; ethics in computer science; and some basic understanding about computer systems: the compile/link/interpret/execute cycle and data representation. 3-2-7 Science I 3-0-3 CS 146 Web Fundamentals This course introduces students to the infrastructure underlying the Web, including protocols and markup languages. It also addresses the question of how one presents large volumes of information to people who need to find out what they are looking for quickly. The scope of the course ranges from mechanics to aesthetics. Social and ethical issues are also discussed, including the concept of information ecologies for social acceptance. Networks and protocols; pervasive computing; Web protocols; markup languages and XML; defining information architecture; understanding information needs and information-seeking behaviors; organizing Web sites and intranets; navigation systems; search systems; thesauri; from research to design: strategies for information architecture; enterprise information architecture; ethics on the Web; and information ecologies.
3-0-6 PE 115 Physical Education 0-2-0 Total 12-4
Term II Course # Course Name Ma 116 Calculus II
Techniques of integration, infinite series and Taylor series, polar coordinates, double integrals, improper integrals, parametric curves, arc length, functions of several variables, partial derivatives, gradients and directional derivatives.
3-0-6 CS 284 Data Structures This is a course on standard data structures, including sorting and searching and using the Java language. The topics include: stages of software development; testing; UML diagrams; elementary data structures (lists, stacks, queues, and maps); use of elementary data structures in application frameworks (e.g., JFC); searching; sorting; and introduction to asymptotic complexity analysis.
3-1-6 Science II 3-0-3 Science Lab 0-3-0 MA 134 Discrete Mathematics This course provides the background necessary for advanced study of mathematics or computer science. Topics include propositional calculus, predicates and quantifiers, elementary set theory, countability, functions, relations, proof by induction, elementary combinatorics, elements of graph theory, mends, and elements of complexity theory.
3-0-6 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-6
Term III Course # Course Name CS 385 Algorithms This is a course on more complex data structures, and algorithm design and analysis, using the C language. Topics include: advanced and/or balanced search trees; hashing; further asymptotic complexity analysis; standard algorithm design techniques; graph algorithms; complex sort algorithms; and other "classic" algorithms that serve as examples of design techniques.
3-1-6 MGT 111 Social Psychology and Organizational Behaviour Using an applied and experiential format, this course exposes students to theory, methods and research in organizational behavior and social psychology. Topics relating to individual differences and group dynamics in organizational settings are stressed. Learning occurs through discussion, group activities, and the completion of assessment instruments. Emphasis is on helping students understand and improve their skills in key areas, including decision-making, leadership, negotiation, and conflict resolution.
3-0-0 BT 101 Introduction to Business Planning During this first-year course, students gain a fundamental understanding of how businesses are organized, key functions within a company, and how companies operate, using a Business Plan model as the teaching tool. Students start their exposure to a group of companies to assist them in determining what company, product, or service they will choose for their Business Plan.
3-0-0 HUM Humanities 3-0-6 HUM Humanities 3-0-3 PE 200 Physical Education 0-2-0 Total 15-3
Term IV Course # Course Name CS 392 Systems Programming Introduction to systems programming in C on UNIX. Students will be introduced to tools for compilation, dynamic linking, debugging, editing, automatic rebuilding, and version control. Some aspects of the UNIX system call interface will be studied, drawn from this list: process creation, signals, terminal I/O, file I/O, inter-process communication, threads, network protocol stacks, programming with sockets, and introduction to RPC. Style issues to be covered include: naming, layout, commenting, portability, design for robustness and debugability, and language pitfalls. X programming and GUI design will be covered, if time allows.
3-0-6 CS 347 Software Development Process This course provides a general introduction to the essentials of the software development process, that series of activities that facilitate developing better software in less time. The course introduces software development and deployment life cycles, requirements acquisition and analysis, software architecture and design, and resource management and scheduling in the implementation phase. Students gain experience with tools and methodologies for configuration management and project management. Security engineering is considered as an essential part of the software development process, particularly from the standpoint of applied risk management.
3-0-6 MA 222 Probability and Statistics Introduces the essentials of probability theory and elementary statistics. Lectures and assignments greatly stress the manifold applications of probability and statistics to computer science, production management, quality control, and reliability. A statistical computer package is used throughout the course for teaching and for assignments. Contents include: descriptive statistics, pictorial and tabular methods, and measures of location and of variability; sample space and events, probability axioms, and counting techniques; conditional probability and independence, and Bayes' formula; discrete random variables, distribution functions and moments, and binomial and Poisson distributions; continuous random variables, densities and moments, normal, gamma, and exponential and Weibull distributions unions; distribution of the sum and average of random samples; the Central Limit Theorem; confidence intervals for the mean and the variance; hypothesis testing and p-values, and applications for the mean; simple linear regression, and estimation of and inference about the parameters; and correlation and prediction in a regression model.
3-0-6 BT 113 Marketing The purpose of this course is to provide the conceptual frameworks and decision-making tools required for success in both technology-based and non-technology-based markets: the student learns to define and select specific customer segments, to monitor the business environment for both opportunities and threats, with particular attention to the ever-changing technological and global context, and to develop marketing strategies for serving each targeted customer segment profitably. Although this course introduces the student to the basic theory and analytical methods characterizing modern marketing practice, there is an emphasis on both the marketing of technology products/services as well as the impact of technology on the general practice of marketing. Students are required to present both a detailed marketing plan and several rigorous case analyses.
3-0-3 BT 115 Financial Accounting This course deals with the methods and principles of financial accounting. It focuses on the recording and measurement of the business activities and the preparation of financial reports. The emphasis is on summarizing activities for persons external to the business. Topics include: financial statements, principles of accrual accounting, the measurement and reporting of detailed balance sheet items, and the analysis of financial reports.
3-1-3 PE 200 Physical Education 0-2-0 Total 15-3
Term V Course # Course Name CS 442 Database Management Systems Introduction to the design of relational databases and the use of standard relational query languages. Topics include: relational schemas; keys and foreign key references; relational algebra (as an introduction to SQL); SQL; Entity-Relationship (ER) database design; translating from ER models to relational schemas and from relational schemas to ER models; functional dependencies; and normalization.
3-0-6 CS 564 Software Requirements Acquisition and Analysis Requirements Acquisition is one of the least understood and hardest phases in the development of software products, especially because requirements are often unclear in the minds of many or most stakeholders. This course deals with the identification of stakeholders, the elicitation and verification, with their participation, of the requirements for a new or to-be-extended software product. It deals further with the analysis and modeling of requirements, the first steps in the direction of software design. Finally, it deals with the quality assurance aspects of the software requirements phase of the software development process. This course is case-history and project-oriented, and uses industry-standard software tools.
3-0-6 Applied Statistics 3-0-3 IS Elective 3-0-3 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VI Course # Course Name CS 546 Web Programming This course will provide students with a first strong approach of internet programming. It will give the basic knowledge on how the Internet works and how to create advanced web sites by the use of script languages, after learning the basics of HTML. The course will teach the students how to create a complex global site through the creation of individual working modules, giving them the skills required in any business such as proper team work and coordination between groups.
3-0-3 CS 545 Human-Computer Interaction This is an introduction to Human Computer Interaction (HCI). It covers basic concepts, principles, and frameworks in HCI; models of interaction; and design guidelines and methodologies. The course includes extensive readings and reports, as well as work on projects involving interface design and development.
3-0-3 CS 578 Privacy in a Networked World Increasing use of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data that, if used improperly, can harm the data subjects. As a result, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course focuses on both the technical challenges of handling sensitive data and the policy and legal issues facing data subjects, data owners, and data users. This course is suitable for advanced undergraduate computer science majors, graduate students in computer science, and students in technology management or other majors with some computer science background. Course readings draw on a variety of sources, including both technical materials and the popular press.
3-0-3 MGT 244 Microeconomics The behavior of and interactions between individual participants in the economic system are covered. In addition to providing a theoretical basis for the analysis of these economic questions, the course also develops applications of these theories to a number of current problems. Topics include: the nature of economic decisions, the theory of market processes, models of imperfect competition, public policy towards competition, and the allocation of factors of production.
3-0-0 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VII Course # Course Name CS 551 Software Engineering and Practice I Software design and development theory of software design, with emphasis on large systems. Models of the software process: specifications development, designing, coding, and testing. Program abstraction with functional abstraction and with abstract data types. Top-down and bottom-up development methods. Common software architecture models. Specification validation, design verification, testing strategies, and test coverage issues.
3-0-3 CS 573 Fundamentals of CyberSecurity This course studies the mathematical models for computer security (Bell-LaPadula, Clark-Wilson, Biba, and Gligor models). It analyzes and compares, with respect to formal and pragmatic criteria, the properties of various models for hardware, software, and database security. Topics also include: formal specification and verification of security properties, operating system security, trust management, multi-level security, security labeling, security auditing and intrusion detection, security policy, safeguards and countermeasures, risk mitigation, covert channels, identification and authentication, password schemes, access control lists, and data fusion techniques. The course includes a project.
3-0-3 CS 548 Engineering of Enterprise Software Systems This course addresses the important engineering issues in building large-scale enterprise software systems. The course emphasizes service-oriented architectures (SOA) and best practices for building service-oriented enterprises in a vendor-neutral fashion. Introduction to SOA; BPM; project management, and configuration management; Web services; mainframe services, virtualization, and data integration; application integration; legacy integration; enterprise integration; federal enterprise architecture (FEA); and case studies.
3-0-3 Free Elective 3-0-6 HUM Humanities 3-0-6 Total 15-0
Term VIII Course # Course Name CS 552 Software Engineering and Practice II Covers the practical aspects of the software process. Cost and schedule estimation; management systems; technical vs. administrative responsibilities; documentation; libraries; configuration management; automated software tools; and documentation. The class is partitioned into software teams, each of which develop and manage a typical large-scale software development process. Projects are drawn from industry and government.
3-0-3 IS Elective 3-0-3 IS Elective 3-0-3 Free Elective 3-0-6 HUM Humanities 3-0-6 Total 15-0
IS Study Plan: Weak Background
Term I Course # Course Name MA 115 Calculus I Functions of one variable, limits, continuity, derivatives, chain rule, maxima and minima, exponential functions and logarithms, inverse functions, antiderivatives, elementary differential equations, Riemann sums, the Fundamental Theorem of Calculus, vectors and determinants.
3-0-6 CS 105 Introduction to Scientific Computing This is a first course in computer programming for students with no prior experience. Students will learn the core process of programming: given a problem statement, how does one design an algorithm to solve that particular problem and then implement the algorithm in a computer program? The course will also introduce elementary programming concepts like basic control concepts (such as conditional statements and loops) and a few essential data types (e.g., integers and doubles). Exposure to programming will be through a self-contained user-friendly programming environment, widely used by the scientific and engineering communities, such as Matlab. The course will cover problems from all fields of science, engineering, and business.
2-2-5 Science I 3-0-3 CS 146 Web Fundamentals This course introduces students to the infrastructure underlying the Web, including protocols and markup languages. It also addresses the question of how one presents large volumes of information to people who need to find out what they are looking for quickly. The scope of the course ranges from mechanics to aesthetics. Social and ethical issues are also discussed, including the concept of information ecologies for social acceptance. Networks and protocols; pervasive computing; Web protocols; markup languages and XML; defining information architecture; understanding information needs and information-seeking behaviors; organizing Web sites and intranets; navigation systems; search systems; thesauri; from research to design: strategies for information architecture; enterprise information architecture; ethics on the Web; and information ecologies.
3-0-6 PE 115 Physical Education 0-2-0 Total 11-4
Term II Course # Course Name Ma 116 Calculus II
Techniques of integration, infinite series and Taylor series, polar coordinates, double integrals, improper integrals, parametric curves, arc length, functions of several variables, partial derivatives, gradients and directional derivatives.
3-0-6 CS 115 Introduction to Computer Science This is an introductory programming course using the Java language. The topics include: basic facts about object-oriented programming and Java through inheritance and exceptions; recursion; UML diagrams and how to read class diagrams; ethics in computer science; and some basic understanding about computer systems: the compile/link/interpret/execute cycle and data representation. 3-2-7 Science II 3-0-3 Science Lab 0-3-0 MA 134 Discrete Mathematics This course provides the background necessary for advanced study of mathematics or computer science. Topics include propositional calculus, predicates and quantifiers, elementary set theory, countability, functions, relations, proof by induction, elementary combinatorics, elements of graph theory, mends, and elements of complexity theory.
3-0-6 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-7
Term III Course # Course Name CS 284 Data Structures This is a course on standard data structures, including sorting and searching and using the Java language. The topics include: stages of software development; testing; UML diagrams; elementary data structures (lists, stacks, queues, and maps); use of elementary data structures in application frameworks (e.g., JFC); searching; sorting; and introduction to asymptotic complexity analysis.
3-1-6 MGT 111 Social Psychology and Organizational Behaviour Using an applied and experiential format, this course exposes students to theory, methods and research in organizational behavior and social psychology. Topics relating to individual differences and group dynamics in organizational settings are stressed. Learning occurs through discussion, group activities, and the completion of assessment instruments. Emphasis is on helping students understand and improve their skills in key areas, including decision-making, leadership, negotiation, and conflict resolution.
3-0-0 BT 101 Introduction to Business Planning During this first-year course, students gain a fundamental understanding of how businesses are organized, key functions within a company, and how companies operate, using a Business Plan model as the teaching tool. Students start their exposure to a group of companies to assist them in determining what company, product, or service they will choose for their Business Plan.
3-0-0 HUM Humanities 3-0-6 HUM Humanities 3-0-3 PE 200 Physical Education 0-2-0 Total 15-3
Term IV Course # Course Name CS 385 Algorithms This is a course on more complex data structures, and algorithm design and analysis, using the C language. Topics include: advanced and/or balanced search trees; hashing; further asymptotic complexity analysis; standard algorithm design techniques; graph algorithms; complex sort algorithms; and other "classic" algorithms that serve as examples of design techniques.
3-1-6 CS 347 Software Development Process This course provides a general introduction to the essentials of the software development process, that series of activities that facilitate developing better software in less time. The course introduces software development and deployment life cycles, requirements acquisition and analysis, software architecture and design, and resource management and scheduling in the implementation phase. Students gain experience with tools and methodologies for configuration management and project management. Security engineering is considered as an essential part of the software development process, particularly from the standpoint of applied risk management.
3-0-6 MA 222 Probability and Statistics Introduces the essentials of probability theory and elementary statistics. Lectures and assignments greatly stress the manifold applications of probability and statistics to computer science, production management, quality control, and reliability. A statistical computer package is used throughout the course for teaching and for assignments. Contents include: descriptive statistics, pictorial and tabular methods, and measures of location and of variability; sample space and events, probability axioms, and counting techniques; conditional probability and independence, and Bayes' formula; discrete random variables, distribution functions and moments, and binomial and Poisson distributions; continuous random variables, densities and moments, normal, gamma, and exponential and Weibull distributions unions; distribution of the sum and average of random samples; the Central Limit Theorem; confidence intervals for the mean and the variance; hypothesis testing and p-values, and applications for the mean; simple linear regression, and estimation of and inference about the parameters; and correlation and prediction in a regression model.
3-0-6 BT 113 Marketing The purpose of this course is to provide the conceptual frameworks and decision-making tools required for success in both technology-based and non-technology-based markets: the student learns to define and select specific customer segments, to monitor the business environment for both opportunities and threats, with particular attention to the ever-changing technological and global context, and to develop marketing strategies for serving each targeted customer segment profitably. Although this course introduces the student to the basic theory and analytical methods characterizing modern marketing practice, there is an emphasis on both the marketing of technology products/services as well as the impact of technology on the general practice of marketing. Students are required to present both a detailed marketing plan and several rigorous case analyses.
3-0-3 BT 115 Financial Accounting This course deals with the methods and principles of financial accounting. It focuses on the recording and measurement of the business activities and the preparation of financial reports. The emphasis is on summarizing activities for persons external to the business. Topics include: financial statements, principles of accrual accounting, the measurement and reporting of detailed balance sheet items, and the analysis of financial reports.
3-1-3 PE 200 Physical Education 0-2-0 Total 15-4
Term V Course # Course Name CS 442 Database Management Systems Introduction to the design of relational databases and the use of standard relational query languages. Topics include: relational schemas; keys and foreign key references; relational algebra (as an introduction to SQL); SQL; Entity-Relationship (ER) database design; translating from ER models to relational schemas and from relational schemas to ER models; functional dependencies; and normalization.
3-0-6 CS 564 Software Requirements Acquisition and Analysis Requirements Acquisition is one of the least understood and hardest phases in the development of software products, especially because requirements are often unclear in the minds of many or most stakeholders. This course deals with the identification of stakeholders, the elicitation and verification, with their participation, of the requirements for a new or to-be-extended software product. It deals further with the analysis and modeling of requirements, the first steps in the direction of software design. Finally, it deals with the quality assurance aspects of the software requirements phase of the software development process. This course is case-history and project-oriented, and uses industry-standard software tools.
3-0-6 Applied Statistics 3-0-3 IS Elective 3-0-3 CS 392 Systems Programming Introduction to systems programming in C on UNIX. Students will be introduced to tools for compilation, dynamic linking, debugging, editing, automatic rebuilding, and version control. Some aspects of the UNIX system call interface will be studied, drawn from this list: process creation, signals, terminal I/O, file I/O, inter-process communication, threads, network protocol stacks, programming with sockets, and introduction to RPC. Style issues to be covered include: naming, layout, commenting, portability, design for robustness and debugability, and language pitfalls. X programming and GUI design will be covered, if time allows.
3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VI Course # Course Name CS 546 Web Programming This course will provide students with a first strong approach of internet programming. It will give the basic knowledge on how the Internet works and how to create advanced web sites by the use of script languages, after learning the basics of HTML. The course will teach the students how to create a complex global site through the creation of individual working modules, giving them the skills required in any business such as proper team work and coordination between groups.
3-0-3 CS 545 Human-Computer Interaction This is an introduction to Human Computer Interaction (HCI). It covers basic concepts, principles, and frameworks in HCI; models of interaction; and design guidelines and methodologies. The course includes extensive readings and reports, as well as work on projects involving interface design and development.
3-0-3 CS 578 Privacy in a Networked World Increasing use of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data that, if used improperly, can harm the data subjects. As a result, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course focuses on both the technical challenges of handling sensitive data and the policy and legal issues facing data subjects, data owners, and data users. This course is suitable for advanced undergraduate computer science majors, graduate students in computer science, and students in technology management or other majors with some computer science background. Course readings draw on a variety of sources, including both technical materials and the popular press.
3-0-3 MGT 244 Microeconomics The behavior of and interactions between individual participants in the economic system are covered. In addition to providing a theoretical basis for the analysis of these economic questions, the course also develops applications of these theories to a number of current problems. Topics include: the nature of economic decisions, the theory of market processes, models of imperfect competition, public policy towards competition, and the allocation of factors of production.
3-0-0 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VII Course # Course Name CS 551 Software Engineering and Practice I Software design and development theory of software design, with emphasis on large systems. Models of the software process: specifications development, designing, coding, and testing. Program abstraction with functional abstraction and with abstract data types. Top-down and bottom-up development methods. Common software architecture models. Specification validation, design verification, testing strategies, and test coverage issues.
3-0-3 CS 573 Fundamentals of CyberSecurity This course studies the mathematical models for computer security (Bell-LaPadula, Clark-Wilson, Biba, and Gligor models). It analyzes and compares, with respect to formal and pragmatic criteria, the properties of various models for hardware, software, and database security. Topics also include: formal specification and verification of security properties, operating system security, trust management, multi-level security, security labeling, security auditing and intrusion detection, security policy, safeguards and countermeasures, risk mitigation, covert channels, identification and authentication, password schemes, access control lists, and data fusion techniques. The course includes a project.
3-0-3 CS 548 Engineering of Enterprise Software Systems This course addresses the important engineering issues in building large-scale enterprise software systems. The course emphasizes service-oriented architectures (SOA) and best practices for building service-oriented enterprises in a vendor-neutral fashion. Introduction to SOA; BPM; project management, and configuration management; Web services; mainframe services, virtualization, and data integration; application integration; legacy integration; enterprise integration; federal enterprise architecture (FEA); and case studies.
3-0-3 HUM Humanities 3-0-6 HUM Humanities 3-0-3 Total 15-0
Term VIII Course # Course Name CS 552 Software Engineering and Practice II Covers the practical aspects of the software process. Cost and schedule estimation; management systems; technical vs. administrative responsibilities; documentation; libraries; configuration management; automated software tools; and documentation. The class is partitioned into software teams, each of which develop and manage a typical large-scale software development process. Projects are drawn from industry and government.
3-0-3 IS Elective 3-0-3 IS Elective 3-0-3 Free Elective 3-0-3 HUM Humanities 3-0-6 Total 15-0
IS Study Plan: Honors Student
Term I Course # Course Name MA 115 Calculus I Functions of one variable, limits, continuity, derivatives, chain rule, maxima and minima, exponential functions and logarithms, inverse functions, antiderivatives, elementary differential equations, Riemann sums, the Fundamental Theorem of Calculus, vectors and determinants.
3-0-6 CS 181 Introduction to Computer Science Honors I Getting acquainted with C++: data types, input and output, functions, writing simple C++ programs, flow control, Boolean expressions, decision statements, if/then, and switch/case. Loop operations, while, do/while, and for loops. Arrays and pointers. Defining structs and classes, constructors and destructors, and operator overloading using an example String class. Templates. Abstract data types: vectors, lists, stacks, queues, and priority trees with applications. Trees and simple sorting with searching algorithms. By invitation only. Students who complete this class are exempt from CS 115 and CS 284.
3-2-7 Science I 3-0-3 CS 146 Web Fundamentals This course introduces students to the infrastructure underlying the Web, including protocols and markup languages. It also addresses the question of how one presents large volumes of information to people who need to find out what they are looking for quickly. The scope of the course ranges from mechanics to aesthetics. Social and ethical issues are also discussed, including the concept of information ecologies for social acceptance. Networks and protocols; pervasive computing; Web protocols; markup languages and XML; defining information architecture; understanding information needs and information-seeking behaviors; organizing Web sites and intranets; navigation systems; search systems; thesauri; from research to design: strategies for information architecture; enterprise information architecture; ethics on the Web; and information ecologies.
3-0-6 PE 115 Physical Education 0-2-0 Total 12-4
Term II Course # Course Name Ma 116 Calculus II
Techniques of integration, infinite series and Taylor series, polar coordinates, double integrals, improper integrals, parametric curves, arc length, functions of several variables, partial derivatives, gradients and directional derivatives.
3-0-6 CS 182 Introduction to Computer Science Honors II An overview of the C++ language. Algorithm design and computational complexity. Abstract data types. Review of fundamental data structures: vectors, lists, stacks, and queues. Trees and binary trees. Heaps and priority queues with applications. Dictionaries with applications. Implementation of dictionaries using binary search trees, AVL trees, and red-black trees. Sorting algorithms. Graphs and networks with applications. Graph implementations and depth-first and breadth-first searching with applications. Other graph algorithms. Students who complete this class are exempt from CS 385.
4-0-8 Science II 3-0-3 Science Lab 0-3-0 MA 134 Discrete Mathematics This course provides the background necessary for advanced study of mathematics or computer science. Topics include propositional calculus, predicates and quantifiers, elementary set theory, countability, functions, relations, proof by induction, elementary combinatorics, elements of graph theory, mends, and elements of complexity theory.
3-0-6 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 16-5
Term III Course # Course Name CS 392 Systems Programming Introduction to systems programming in C on UNIX. Students will be introduced to tools for compilation, dynamic linking, debugging, editing, automatic rebuilding, and version control. Some aspects of the UNIX system call interface will be studied, drawn from this list: process creation, signals, terminal I/O, file I/O, inter-process communication, threads, network protocol stacks, programming with sockets, and introduction to RPC. Style issues to be covered include: naming, layout, commenting, portability, design for robustness and debugability, and language pitfalls. X programming and GUI design will be covered, if time allows.
3-0-6 MGT 111 Social Psychology and Organizational Behaviour Using an applied and experiential format, this course exposes students to theory, methods and research in organizational behavior and social psychology. Topics relating to individual differences and group dynamics in organizational settings are stressed. Learning occurs through discussion, group activities, and the completion of assessment instruments. Emphasis is on helping students understand and improve their skills in key areas, including decision-making, leadership, negotiation, and conflict resolution.
3-0-0 BT 101 Introduction to Business Planning During this first-year course, students gain a fundamental understanding of how businesses are organized, key functions within a company, and how companies operate, using a Business Plan model as the teaching tool. Students start their exposure to a group of companies to assist them in determining what company, product, or service they will choose for their Business Plan.
3-0-0 HUM Humanities 3-0-6 HUM Humanities 3-0-3 PE 200 Physical Education 0-2-0 Total 15-2
Term IV Course # Course Name CS 545 Human-Computer Interaction This is an introduction to Human Computer Interaction (HCI). It covers basic concepts, principles, and frameworks in HCI; models of interaction; and design guidelines and methodologies. The course includes extensive readings and reports, as well as work on projects involving interface design and development.
3-0-3 CS 347 Software Development Process This course provides a general introduction to the essentials of the software development process, that series of activities that facilitate developing better software in less time. The course introduces software development and deployment life cycles, requirements acquisition and analysis, software architecture and design, and resource management and scheduling in the implementation phase. Students gain experience with tools and methodologies for configuration management and project management. Security engineering is considered as an essential part of the software development process, particularly from the standpoint of applied risk management.
3-0-6 MA 222 Probability and Statistics Introduces the essentials of probability theory and elementary statistics. Lectures and assignments greatly stress the manifold applications of probability and statistics to computer science, production management, quality control, and reliability. A statistical computer package is used throughout the course for teaching and for assignments. Contents include: descriptive statistics, pictorial and tabular methods, and measures of location and of variability; sample space and events, probability axioms, and counting techniques; conditional probability and independence, and Bayes' formula; discrete random variables, distribution functions and moments, and binomial and Poisson distributions; continuous random variables, densities and moments, normal, gamma, and exponential and Weibull distributions unions; distribution of the sum and average of random samples; the Central Limit Theorem; confidence intervals for the mean and the variance; hypothesis testing and p-values, and applications for the mean; simple linear regression, and estimation of and inference about the parameters; and correlation and prediction in a regression model.
3-0-6 BT 113 Marketing The purpose of this course is to provide the conceptual frameworks and decision-making tools required for success in both technology-based and non-technology-based markets: the student learns to define and select specific customer segments, to monitor the business environment for both opportunities and threats, with particular attention to the ever-changing technological and global context, and to develop marketing strategies for serving each targeted customer segment profitably. Although this course introduces the student to the basic theory and analytical methods characterizing modern marketing practice, there is an emphasis on both the marketing of technology products/services as well as the impact of technology on the general practice of marketing. Students are required to present both a detailed marketing plan and several rigorous case analyses.
3-0-3 BT 115 Financial Accounting This course deals with the methods and principles of financial accounting. It focuses on the recording and measurement of the business activities and the preparation of financial reports. The emphasis is on summarizing activities for persons external to the business. Topics include: financial statements, principles of accrual accounting, the measurement and reporting of detailed balance sheet items, and the analysis of financial reports.
3-1-3 PE 200 Physical Education 0-2-0 Total 15-3
Term V Course # Course Name CS 442 Database Management Systems Introduction to the design of relational databases and the use of standard relational query languages. Topics include: relational schemas; keys and foreign key references; relational algebra (as an introduction to SQL); SQL; Entity-Relationship (ER) database design; translating from ER models to relational schemas and from relational schemas to ER models; functional dependencies; and normalization.
3-0-6 CS 564 Software Requirements Acquisition and Analysis Requirements Acquisition is one of the least understood and hardest phases in the development of software products, especially because requirements are often unclear in the minds of many or most stakeholders. This course deals with the identification of stakeholders, the elicitation and verification, with their participation, of the requirements for a new or to-be-extended software product. It deals further with the analysis and modeling of requirements, the first steps in the direction of software design. Finally, it deals with the quality assurance aspects of the software requirements phase of the software development process. This course is case-history and project-oriented, and uses industry-standard software tools.
3-0-6 Applied Statistics 3-0-3 IS Elective 3-0-3 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VI Course # Course Name CS 546 Web Programming This course will provide students with a first strong approach of internet programming. It will give the basic knowledge on how the Internet works and how to create advanced web sites by the use of script languages, after learning the basics of HTML. The course will teach the students how to create a complex global site through the creation of individual working modules, giving them the skills required in any business such as proper team work and coordination between groups.
3-0-3 Free Elective 3-0-3 CS 578 Privacy in a Networked World Increasing use of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data that, if used improperly, can harm the data subjects. As a result, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course focuses on both the technical challenges of handling sensitive data and the policy and legal issues facing data subjects, data owners, and data users. This course is suitable for advanced undergraduate computer science majors, graduate students in computer science, and students in technology management or other majors with some computer science background. Course readings draw on a variety of sources, including both technical materials and the popular press.
3-0-3 MGT 244 Microeconomics The behavior of and interactions between individual participants in the economic system are covered. In addition to providing a theoretical basis for the analysis of these economic questions, the course also develops applications of these theories to a number of current problems. Topics include: the nature of economic decisions, the theory of market processes, models of imperfect competition, public policy towards competition, and the allocation of factors of production.
3-0-0 HUM Humanities 3-0-6 PE 200 Physical Education 0-2-0 Total 15-2
Term VII Course # Course Name CS 551 Software Engineering and Practice I Software design and development theory of software design, with emphasis on large systems. Models of the software process: specifications development, designing, coding, and testing. Program abstraction with functional abstraction and with abstract data types. Top-down and bottom-up development methods. Common software architecture models. Specification validation, design verification, testing strategies, and test coverage issues.
3-0-3 CS 573 Fundamentals of CyberSecurity This course studies the mathematical models for computer security (Bell-LaPadula, Clark-Wilson, Biba, and Gligor models). It analyzes and compares, with respect to formal and pragmatic criteria, the properties of various models for hardware, software, and database security. Topics also include: formal specification and verification of security properties, operating system security, trust management, multi-level security, security labeling, security auditing and intrusion detection, security policy, safeguards and countermeasures, risk mitigation, covert channels, identification and authentication, password schemes, access control lists, and data fusion techniques. The course includes a project.
3-0-3 CS 548 Engineering of Enterprise Software Systems This course addresses the important engineering issues in building large-scale enterprise software systems. The course emphasizes service-oriented architectures (SOA) and best practices for building service-oriented enterprises in a vendor-neutral fashion. Introduction to SOA; BPM; project management, and configuration management; Web services; mainframe services, virtualization, and data integration; application integration; legacy integration; enterprise integration; federal enterprise architecture (FEA); and case studies.
3-0-3 Free Elective 3-0-3 HUM Humanities 3-0-6 Total 15-0
Term VIII Course # Course Name CS 552 Software Engineering and Practice II Covers the practical aspects of the software process. Cost and schedule estimation; management systems; technical vs. administrative responsibilities; documentation; libraries; configuration management; automated software tools; and documentation. The class is partitioned into software teams, each of which develop and manage a typical large-scale software development process. Projects are drawn from industry and government.
3-0-3 IS Elective 3-0-3 IS Elective 3-0-3 Free Elective 3-0-3 HUM Humanities 3-0-6 Total 15-0