Degree Requirements
Required Courses
A first course in programming using a structured programming language. Topics include iteration, selection, procedures, functions, and arrays with the use of flowcharts and modules. Presents applications in both business and scientific areas.
A continuation of CS 111 using a structured programming language to implement multidimensional arrays, stacks, queues, linked lists, and binary trees. Also introduces recursion, pointers, and classes.
Prerequisite: Take CS-111
Presents mathematical concepts for computer science including sets; relations and functions; partitions; order relations; countability; permutations and combinations; probability; recurrences; big-Oh notation; and elements of abstract algebra such as groups, rings, and Boolean algebras.
This course provides a hands-on introduction to the Computer Science program and allows students to learn about the program in more detail by completing hands-on learning exercises in a laboratory environment. Several different aspects of Computer Science, such as abstract thinking, coding, algorithms, design, optimizations, data and society will be covered.
This course presents an overview of computer architecture and computer organization as they relate to computer science. Topics include computer components, interconnection structures, internal memory, instruction sets, number representation in computers, parallel processing, and an elementary introduction to assembly programming.
Prerequisite: Take CS-112
Covers advanced programming techniques in "C" using pointers, data structures, and recursion. Emphasis on algorithmic approach and use of mathematical functions.
Prerequisite: Take CS-112
Covers major paradigms in computing programming, including imperative, functional, logic, and object-oriented. Compares and contrasts different paradigms as appropriate and provides students an overview of different programming techniques.
Prerequisite: Take CS-112
Explores fundamentals of database design theory and applications. Includes data models with emphasis on the relational model.
Prerequisite: Take CS-112;
The study of software development methodology, both procedural and object oriented. This is a team project-based design course where teams develop software projects from requirements analysis through detailed design and testing. Umbrella activities such as configuration management, quality assurance, writing documentation, ethics, and costing are covered. Automated software design tools are used and oral and written presentations required.
Prerequisite: Take CS-112
Students will learn the importance of formulating research questions. They will also learn about and how to use tools for research. In addition they will study the creation of a research report based on reliable data and logical conclusions. Students will critique and evaluate specific research studies. They will be responsible for making presentations and leading group discussions.
Students study networks and data communication concentrating on the Internet model. This is a laboratory-based course that includes projects implemented on both Unix and Windows machines. Topics such as the Internet protocol stack, hardware, routing, circuit-switching and packet-switching networks, multiplexing, error handling and wifi are among those studied. Students use packet sniffing tools to design and simulate networks
Prerequisite: Take CS-112
Emphasis on theory and techniques underlying the analysis of algorithms including big/little-Oh, graphs and networks, searching, sorting, recursion, and classical algorithms.
Prerequisite: Take CS-241
Examines resource management (including memory allocation and management, virtual memory), process scheduling, protection, deadlocks, concurrency, file systems, I/O systems, distributed OS.
Prerequisite: Take CS-215
This course provides students with real world internship experience. Mandatory for CS, IT, GDD majors.
This senior project design course is offered in the fall of the senior year. Students work with senior capstone project coordinator and a faculty mentor to define an important problem in their discipline, and propose to implement a solution as a team.
Prerequisite: Take CS-319
This senior project implementation course is offered in the spring of the senior year. Students work with a faculty mentor to implement their project. Students are required to assess requirements, design and develop the software and write detailed documentation that illustrates and supports design choices. Test plans, usability testing and prototypes are also required. Students present their complete, working projects to the department faculty and public as the culmination of this project.
Prerequisite: Take CS-417
Applied fundamentals of artificial intelligence, with a particular focus on data analytics, and cloud computing basics. Making virtual artifacts for systems to learn, plan and solve problems to complete the data-information-knowledge-wisdom pyramid. This course has a hands-on component focused on driving modern intelligent agents on real-world applications for contemporary problems, such as deep learning, data flows, and autonomous driving.
Prerequisite: Take CS-112, MA-331 or MA-332 or CSE-300
This course provides a hand-on introduction to the School of Computer Science and Engineering programs and allows students to learn about each program in more detail by completing hands-on learning exercises in a laboratory environment. This course is offered by a team of SCSE faculty and each cohort will rotate through program-specific laboratories.
This course provides a holistic perspective on the structure of the cyberspace ecosystem and methods and techniques in building a functional cyberspace that is secure and sustainable. Topics include cybersecurity first principles covering confidentiality, integrity and availability, cybersecurity ethics, forensics, authentication and access control, and security management.
Elective Courses
Choose one of the following courses
This course presents a number of cloud computing tools and technologies, including virtualization, web services, data analysis, and integration.
Prerequisite: Take CS-112 and CS-339
Applied fundamentals of artificial intelligence, with a particular focus on data analytics, and cloud computing basics. Making virtual artifacts for systems to learn, plan and solve problems to complete the data-information-knowledge-wisdom pyramid. This course has a hands-on component focused on driving modern intelligent agents on real-world applications for contemporary problems, such as deep learning, data flows, and autonomous driving.
Prerequisite: Take CS-112, MA-331 or MA-332 or CSE-300
Philosophy Elective Courses
Select one from the following
Students will gain an understanding of the broad narrative of Western philosophy by studying texts from significant philosophers in several historical periods.
The conditions that make knowledge possible and the criteria of truth and falsity. Selected representative historical thinkers.
Are there good reasons for acting morally? Are consequences relevant to the morality of actions, or only our intentions? What is the nature of moral virtue? What is a good life? This course provides systematic analysis of such questions, drawing from important works in the history of moral philosophy and engaging with pressing contemporary ethical issues.
Computer Science & Engineering Electives
Select two from the following
This course introduces students to different concepts, tools, and techniques in effectively securing connections between different components, both physical and logical, of a network. By participating in a number of hands-on activities, students will learn to protect an organization's network and components, from various cybersecurity threats and manage risks to support a successful accomplishment of its mission. Topics covered include conventional encryption and message confidentiality, public key cryptography and message authentication, network-based threats, firewalling and access control, intrusion detection and prevention systems.
Prerequisite: Take CS-339 or CY-211
This course will examine the number systems; computer arithmetic; analysis and synthesis of combinational and sequential logic circuits, use of a hardware description language; organization and structure of computing systems.
Prerequisite: Take CS-113
An object-oriented approach to computer graphics using C#. Topics covered will include classes, instantiation, event listeners, polymorphism, encapsulation, event handlers, functions and methods, and basic game logic.
Prerequisite: Take CS-112
An advanced design course that studies the application of computer solutions to business problems. This is a project-based course where teams set milestones and present object-oriented analysis and design of their solutions. Oral and written presentations are required and automated software tools are used.
The course covers the breadth of activities and methods and tools that data scientists use to visualize and study patterns in data. The content focuses on concepts, principles and practical applications that are applicable to any industry and technology environment, and the learning is supported and explained with lab sessions using a programming language. Important machine learning techniques are covered: regression, clustering, classification, association rules, time series analysis, and text analysis. The students are expected to create a final project related to their field of study, write a paper, and present it to the class.
This course introduces the processes, methods, techniques, and tools used to manage projects to achieve organizational goals. The course covers a systematic methodology for initiating, planning, executing, controlling, and closing projects. Students will also learn project management software that can be applied in various organizational settings.
Required Supporting Courses
Must have a grade of "C" of better
This course focuses on the ethical and social and legal issues associated with computer technology and its context in society. It is a writing seminar that focuses on ethical issues such as privacy, hacking, intellectual property, accountability, identity, whistleblowing, virtual communities, social networking, codes of ethics and professional responsibility. Students use philosophers such as Aristotle, Kant and Mill, to support their positions through papers, ethical debate and dialogue. This course is a senior level capstone course. It emphasizes both oral and written communication as students discuss and examine their own ethical beliefs in relation to society and technology.
Prerequisite: Take one course from PH department
Explores limits and approximation, differential and integral calculus of the elementary algebraic and transcendental functions, and applications of differentiation and integration.
Prerequisite: Minimum grade of C in MA-140 or placement by Dpt
Covers applications and methods of integration, inverse trigonometric functions, improper integrals, sequences and series, parametric representation, and polar coordinates.
Prerequisite: Take MA-151 with a minimum grade of C, P
Focuses on matrix theory, systems of linear equations, linear transformations, vector spaces and subspaces, determinants, eigenvalues, inner product spaces, and orthogonality.
Prerequisite: MA-152 with a minimum grade of C, P
Addresses probability, discrete random variables and their distributions, mathematical expectations, sampling distributions, and multivariate distributions. Offered every Third Semester.
Prerequisite: Math-152 with a minimum grade of C, P
Addresses statistics with an emphasis on the underlying mathematical theory. Topics include point estimation and its properties, interval estimation, correlation, regression, and hypothesis testing involving parametric as well as non-parametric methods. Offered every Third Semester.
Prerequisite: Take MA-331 with Minimum Grade of C, P
Calculus-based course covering basic principles of mechanics (units, vectors, 1D and 2D motion, concepts of force, torque, static equilibrium, energy, work, momentum, rotational motion, and gravitation) and fluid mechanics. A prerequisite to PY 152, 153.
Prerequisite: MA 152;
Fundamental training in physical measurements in mechanics (base physical quantities, vectors, acceleration of gravity, concepts of force, torque, static equilibrium, energy, momentum, rotational motion) and Archimedes' principle.
Prerequisite: Take PY-151