Write the code that will unleash the full power and potential of the computer.
Through a systematic process, software developers design, create, and assess the programs that enable almost every human endeavor, mastering the sophisticated languages that form the common indispensable tongue of the technological era.
Course Name
Course #
Credits
College Composition develops students’ acquisition of the fundamental principles of academic writing. This course focuses on the development of writing thesis statements and main arguments, topic sentences, transitional words and phrases, supporting paragraphs, use of evidence, essay organization, and research skills. Extensive writing and research practice is required.
COM1103
3
An overview of computer science for CS and non-CS majors with the overarching objective to develop a computational mindset. For CS majors, to gain an appreciation of the relevance of the various computing topics and interrelationships for future courses. For non-CS majors, to provide the necessary technological background to appreciate and integrate into today’s technical society.
MCS1243
3
Quadratic equations, functions and graphs, systems of equations, inequalities, logarithms, trigonometric functions, identities, equations. No credit after completion of MCS1224 or MCS1414. Calculus
MCS1074*
4
A historical survey that develops students’ abilities to critically engage texts of the ancient global world, placing an emphasis on the way these texts reflect their context and human experience. Readings may draw from philosophy, history, literature, visual art, and more. Class activities include reading of primary sources, seminar discussion, and writing in various genres. May be taken concurrently with COM 1103.
HUM1213
3
Total Credits:
13
Course Name
Course #
Credits
A historical survey that develops students’ abilities to engage texts of the modern global world, placing an emphasis on the way these texts reflect their context and human experience. Readings may draw from philosophy, history, literature, visual art, photography, film, digital media, and more. Class activities include reading of primary sources, seminar discussion, and writing in various genres. May be taken concurrently with COM 1103.
HUM1223
3
Course not found.
SSC 2XX3
3
Must have placement. Limits and continuity, differentiation, curve sketching, applications of differentiation, integration, methods and applications of integration, multivariable calculus. No credit after completion of MCS1414. Lecture: 4 hrs
MCS1224*
4
Introduction to programming with C++. Binary, two’s complement, decimal, hex, and octal representations. Variable types. Simple, iterative, and conditional statements. Procedure and functions with parameters by value and reference with or without a returning value. Arrays and vectors, multidimensional arrays, bubble and selection sorts, linear and binary search. Pointer and dynamic memory allocation, character and C-strings, file input/output (sequential). Classes, friends, array of objects, and operators’ overloading. Inheritance, polymorphism, virtual function, and recursion.
MCS1514
4
This one credit course will focus on programming languages such as Scratch, Python, Javascript, Ruby, R, PHP, C# or Matlab. Students will be expected to work in groups on coding projects that will focus on syntax and semantics with application to a specific language.
MCS1111
1
Total Credits:
15
Course Name
Course #
Credits
This course covers descriptive statistics, probability, and probability distributions with an emphasis on statistical inference such as confidence intervals, hypothesis testing, correlation and regression, chi-square tests, t-and F-distributions, and selected nonparametric tests.
MCS2124
4
Introduction to JAVA; comparing Java and C++, Java building elements; control structures, methods, object-oriented programming, arrays and strings,
inheritance, graphics programming, applets, multithreading and multimedia.
MCS2603
3
Records, advanced file input/output (random access), dynamic memory allocation. Static and dynamic implementation of stacks, linked lists (ordered and unordered), queue (regular and priority), circular queues. Selection and insertion sort, binary search. Lecture 3 hrs., Lab 1hr.
MCS2514
4
Number Theory, review of induction and recursion, advanced counting, equivalence, partial ordering, graphs, trees.
MCS2523
3
Number Theory, review of induction and recursion, advanced counting, equivalence, partial ordering, graphs, trees.
LLT2xx3
3
Total Credits:
17
Course Name
Course #
Credits
Analysis of algorithms, Big Oh notation, asymptotic behavior. Advanced sorting (heapsort, quicksort), external sorting. Binary, multiway, and AVL trees. Lecture 4 hrs.
MCS2534
4
This course is a brief overview of software engineering topics including software development models, requirements, software design & implementation, software debugging & testing, software maintenance, software quality & metrics, and software project management. Focused in depth learning goals include system modelling & analysis tools, model-based design, coding standards, IDE tools, version control systems, and the introduction of agile software development methodologies. In addition to theories, students will practice in the development of a long-running software project applying & utilizing software engineering techniques & tools covered in class.
MCS3643
3
Course not found.
BIO/PHY/CHM/
GLG/PSC
xxx3
3
Course not found.
BIO/PHY/
CHM/ PSC
xxx1
1
Course not found.
MCS2403
3
Each Spring, the faculty in Mathematics and Computer Science will provide students with an overview of the research they are working on. This will provide students with the opportunity gain critical exposure to research ideas early on in their academic careers. Each week a different faculty member will host the meeting to allow students to ask questions and to learn what is current in the field of math and computer science. Meetings will be hosted virtually, via Zoom.
MCS2111
1
Total Credits:
15
Course Name
Course #
Credits
Training in a systematic method for producing effective technical communication, written reports, letters, and memos as well as oral presentations. Lecture 3 hours. 3 hours credit
COM2103
3
This course continues from Software Engineering I and covers overall software engineering topics especially for developing large software using modelling languages and object oriented design methodologies. In-depth learning topics include UML (Unified Modelling Language) & tools, Object Oriented Design (OOD) methodologies, model-based design, software reuse, and comparison of various version control systems. Students will gain practical experience in the development of a larger long-running software project with a focus on object oriented programming language utilizing UML diagrams such as Use-Case, State, Sequence, Class, and Component diagrams as well as OOD methodologies
MCS3653
3
Course not found.
MCS3663
3
Course not found.
GENxxx3
3
Course not found.
BIO/PHY/CHM/
GLG/PSC
xxx3
3
Total Credits:
15
Course Name
Course #
Credits
Software Architecture course teaches the principles and concepts involved in the design and development of large-scale software systems. Various architectural styles such as layered, event-driven, service-oriented, cloud, etc are covered. How to design, select, and use appropriate reusable design patterns/core assets is also introduced. Object-oriented design & programming skills are reviewed in depth. Model-Based Design approaches are also covered in depth. Students will gain practical experience in the development of a software project by selecting/reusing appropriate architectural style and software design patterns. Students will also gain real-world model-based design and code generation experiences using tools such as SIMULINK.
MCS3513
3
Organization of database systems. Data definition, retrieval, manipulation. Relational databases, SQL. Practice using standard databases.
MCS2543
3
This course focuses on the core concepts that underlie contemporary operating systems. It introduces the structure and responsibilities of operating systems, discusses the cutting-edge advances in computing that are redefining operating systems, and addresses design considerations, such as performance, fault tolerance, security, modularity, and cost.
Topics include Operating System Architecture, Process Concepts and Management, Thread Concepts, Asynchronous Concurrent Execution, Concurrent Programming, Deadlock and Indefinite Postponement, Processor Scheduling Algorithms, Real Memory Organization and Management, Virtual Memory Organization and Management, Disk Performance Optimization, RAID, File Systems, and Case Studies.
MCS4663
3
Topics of current interest in mathematics and computer science. (May be taken more than once if the topic is different.)
MCS4993
3
Students will review the fundamentals of probability theory and then move to distribution theory and parameter estimation techniques to create a bases for understanding the application of statistical tests. Topics covered will include hypothesis testing and model building strategies, assumption checking such as checking for normality and outliers, visualization methods such as scatterplots and box plots, model diagnostics such as serial correlation and normality. We will use free statistical package R to do most problems in class and in homework. Students do not need to know R prior to this class. Basic R programming will be taught in class and more complex codes for simulations and other application.
MCS3123
3
This one credit course will focus on programming languages such as Scratch, Python, Javascript, Ruby, R, PHP, C# or Matlab. Students will be expected to work in groups on coding projects that will focus on syntax and semantics with application to a specific language.
MCS1111
1
Total Credits:
16
Course Name
Course #
Credits
This course presents theory and practice for testing software and assuring its quality. Topics include introduction to software quality, software standards, software reviews and inspections, software verification & validation, software quality management, software quality assurance, software measurements & metrics, software security, and formal/informal proofs of program correctness. Topics related to testing include stages of testing, types of testing, testing techniques, designing test-cases, test coverage analysis, automated testing tools, and performance testing tools. This course will provide students with practical experience using a different testing techniques such as Unit Testing, User Interface Testing, Continuous Integration, and Test-Driven Development (TDD) for software projects.
Students gain hands-on experience in planning and managing software development through real-world projects. By implementing a term project, students will learn how software projects are planned, developed, monitored, and controlled. This course will cover in-depth software project management topics such as project planning, estimation, scheduling, tracking, risk management, configuration and change management, and version management. This course will strongly emphasize collaboration, continuous integration, and continuous delivery using agile software development methodologies. Agile framework and tools such as SCRUM, XP, Kanban, and/or JIRA are covered and applied to the term project.
LLT/PSY 3/4xx3
3
This course presents theory and practice for testing software and assuring its quality. Topics include introduction to software quality, software standards, software reviews and inspections, software verification & validation, software quality management, software quality assurance, software measurements & metrics, software security, and formal/informal proofs of program correctness. Topics related to testing include stages of testing, types of testing, testing techniques, designing test-cases, test coverage analysis, automated testing tools, and performance testing tools. This course will provide students with practical experience using a different testing techniques such as Unit Testing, User Interface Testing, Continuous Integration, and Test-Driven Development (TDD) for software projects.
Students gain hands-on experience in planning and managing software development through real-world projects. By implementing a term project, students will learn how software projects are planned, developed, monitored, and controlled. This course will cover in-depth software project management topics such as project planning, estimation, scheduling, tracking, risk management, configuration and change management, and version management. This course will strongly emphasize collaboration, continuous integration, and continuous delivery using agile software development methodologies. Agile framework and tools such as SCRUM, XP, Kanban, and/or JIRA are covered and applied to the term project.
MCS4513
3
Transmission media, local asynchronous communication (RS232) long distance communication, LAN Technologies, network topologies, hardware addressing, LAN wiring, physical topologies, interface hardware, extending LANs, fiber modems repeaters, bridges, and switches, WAN topologies and routing. Lecture 3 hrs.
MCS4613
3
Beginning course on theory of computation. Regular languages, finite automata, context-free language, Turing Machine, Chomsky hierarchy, applications to parsing. Lecture 3 hrs.
MCS4653
3
Course not found.
MCS4833
3
Pathways 4001 is the capstone course for CoAS majors’ Pathways Program. The course meets for 4 half-day Saturday sessions fall term. The course’s work requirements are satisfied throughout students’ final year under the supervision of the Pathways Program Director. Requirements include: a) mentoring first-year CoAS majors in the Pathways 1001 course, b) participation in an extra- or co- curricular activity related to major research field, c) incorporation of leadership / ethics issues in senior thesis / capstone project.
COM4001
1
Total Credits:
16
Course Name
Course #
Credits
This course will cover survey of the four various programming languages in the imperative, multiprogramming, functional and logical domains. An understanding of the fundamental design and language concepts provides the foundation for the critical examination and implementation of programming language paradigms from lexical and syntactical perspective.
MCS4643
3
Course not found.
MCS4843
3
SSC 3743
3
Course not found.
MCS 3/4xx3
3
Prerequisite: Permission of department chair Introduction to the Web-server basis; Web authoring using HTML; advanced Web authoring with dynamic HTML, XML; JavaScript programming; CGI programming in C, C++ and PERL. Introduction to ASP to the middle tier. Lecture 3 hrs.
MCS5013
3
Total Credits:
15
Earn your Master degree and Bachelor degree in five years!
Use Your Cell Phone as a Document Camera in Zoom
From Computer
Log in and start your Zoom session with participants
From Phone
To use your cell phone as a makeshift document camera