47 courses with the subject CS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CS 1030Foundations of Computer Science3
Credit(s) | $33 Fee A survey course covering seven big ideas of computing: creativity, abstraction, data, algorithms, programming, the Internet, and global impact. The course covers computational thinking practices, including connecting computing, creating computational artifacts, abstracting, analyzing problems and artifacts, and communicating. The course includes practice opportunities to apply the problem solving process and problem-solving strategies. Emphasis is on various abstractions relating to computing and technology including binary, HTML, JavaScript, Internet protocols, file formats, hardware design, assembly, programming languages, big data, and modern applications. (Fall) [Graded Letter]
Credit(s) | $33 Fee An introduction to computer programming. Topics to be covered include program design, program implementation techniques, programming constructs, console output, class design, and basic familiarity with the API. Emphasis is placed on modifying and developing simple applications. (Fall, Spring) [Graded Letter]
Credit(s) | $33 Fee A continuation of CS 1400 featuring the use of APIs and problem-solving strategies to create, test, and debug interactive object oriented programs. Topics to be covered include recursion, exception handling, reusability, and program design. (Fall, Spring, Summer) [Graded Letter]
Credit(s) | $33 Fee This course covers algebraic structures applied to computer programming. Topics include propositional and predicate logic, proofs, sets, relations, functions, counting, graphs, and trees. This course lays the foundation for problems solving in computer science. (Fall) [Graded Letter]
CS 2420Introduction to Algorithms and Data Structures3
Credit(s) | $33 Fee Concepts and theory of data structures and algorithm analysis. Understanding basic data structures such as lists, stacks, queues, trees, graphs, and hash tables. Further exploration of objected oriented programming and the software development process. (Fall, Spring, Summer) [Graded Letter]
Credit(s) | $33 Fee An examination of systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software. This course features a major programming project that is developed in accordance with sound software engineering principles. (Fall) [Graded Letter]
Credit(s) | $33 Fee This course builds on students understanding of interface between computer software and hardware. Topics for this course include processor architecture, computer arithmetic, instruction set architecture, assembly language and its relation to higher level languages, computer performance analysis, basic concepts on pipeline, introduction to memory management, Computer IO, and disk storage systems. (Spring) [Graded Letter]
Credit(s) | $33 Fee This course is a survey of the most effective algorithms currently in use for a wide variety of problems and their usage in program design. Characteristics and performance of algorithms are studied. Advanced object oriented programming techniques are emphasized. (Spring) [Graded Letter]
Credit(s) | $33 Fee An introduction to C and C++ for students with previous programming experience. Topics include C and C++ syntax and constructs, the Standard Template Library, and advanced problem-solving techniques in both languages. (Fall) [Graded Letter]
Credit(s) | $33 Fee An introduction to Java for students with previous programming experience in another programming language. Topics include basic Java syntax, objected oriented programming syntax, common data structure usage, lambda expressions, I/O, and GUI creation. (Spring) [Graded Letter]
Credit(s) | $33 Fee An introduction to electronic game development and to careers in the gaming industry with an emphasis on game engineering. The course includes study of common programming practices in the industry, the history and philosophy of games, the game production process, employee factors for success in the field, and current issues and practices in the game development system. (Fall - Even Years) [Graded Letter]
CS 2420 and ( MATH 1060 or MATH 1210 or adequate test score) -
CS 3550Foundations of Computation Theory3
Credit(s) | $33 Fee An introduction to the theory of computation and its relationship to the design and implementation of compilers. Topics include finite-state and pushdown automata, formal languages and grammars, Turing machines, and syntax and semantics of programming languages. (Spring) [Graded Letter]
Credit(s) | $33 Fee An introduction to fundamental concepts in the design, implementation, and usage of operating systems. Topics include process management, main memory management, virtual memory, I/O and device drivers, file handling, and concurrency. (Spring) [Graded Letter]
Credit(s) | $33 Fee An exploration of real-time 3D graphics through the lenses of modern virtual reality headsets. Course will cover concepts of real-time rendering, 3D VR interaction & haptics, custom editor scripting, advanced game systems, real-time mesh deformation, and procedural generation. Application of game development concepts to virtual reality environments with programming assignments. (Spring - Odd Years) [Graded Letter]
Credit(s) | $33 Fee This course is aimed at developing practical machine-learning skills. The course will cover the theoretical basics of a broad range of machine learning concepts and methods with practical applications via programming assignments and project implementations. (Fall - Odd Years) [Graded Letter]
Credit(s) | $33 Fee This course will introduce fundamental concepts in the field of data analysis, along with some widely used techniques and tools. Students will have the chance to delve into and analyze substantial amounts of observational data to uncover significant patterns and valuable insights that can aid decision-making in various contexts. (Spring - Even Years) [Graded Letter]
Credit(s) | $33 Fee This course covers the development of applications on mobile devices. The latest software development environments will be used to create mobile apps. The specific software development environment varies by semester. The course includes analysis of usability and accessibility of existing mobile applications. (As Needed) [Graded Letter]
Credit(s) | $33 Fee This course provides a solid introduction to both client and server side web programming. Topics include HTML5 technologies, CSS, JavaScript programming, Ajax, SVG, XML, PHP and Node.js programming. A variety of programming projects will be assigned to reinforce the concepts. (Fall) [Graded Letter]
Credit(s) | $33 Fee An introduction to the core principles of programming languages: syntactic and semantic descriptions, and compilation and implementation issues. An introduction to the main programming paradigms, exemplified using contemporary programming languages: imperative, object-oriented, functional, and logic. (Fall) [Graded Letter]
Credit(s) | $33 Fee This course explores the ideas and topics surrounding computer programs that make decisions that mimic intelligent behaviors. These programs are sometimes referred to as Intelligent systems, or Artificial Intelligence. Students will program intelligent systems of their own using informed search methods, planning, logical reasoning, and/or probabilistic reasoning during this course. (Fall - Even Years) [Graded Letter]
Credit(s) | $33 Fee An examination of systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software. This course offers a major programming project which provides an opportunity to apply much of the material the student has learned in previous computer science coursework. (Spring) [Graded Letter]
Credit(s) | $33 Fee This course will provide a foundation of computer science concepts. (Fall - 1st Session, Fall - 2nd Session, Spring - 1st Session, Spring - 2nd Session, Summer - 1st Session, Summer - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course will provide a foundation of software development concepts. (Fall - 1st Session, Fall - 2nd Session, Spring - 1st Session, Spring - 2nd Session, Summer - 1st Session, Summer - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee Students will gain both comprehensive software engineering knowledge and skills, in addition to increased exposure to coursework in leadership, communication, management, and ethics. Students will learn modern approaches to software development: requirements analysis, system design techniques, formal specification techniques, implementation, testing, debugging, metrics, human factors, quality assurance, cost estimation, maintenance, and tools. Students will be introduced to, and gain firsthand experience of, the fundamentals of software testing and the main phases in the software development process. Students will gain experience working on hands-on programming projects that prepare students to work in co-located or geographically distributed software development team environments. (Fall - 1st Session) [Graded Letter]
Credit(s) | $33 Fee The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are “efficient,” and even the model of computation can vary widely from area to area. We will survey many of the techniques that apply broadly in the design of efficient algorithms and study their application in a wide range of application domains and computational models. (Fall - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course provides a survey of computer programming. Topics include variables, program control, decision structures, file input and output, and arrays. Students will work on weekly substantial programming problems. (Spring - 1st Session) [Graded Letter]
Credit(s) | $33 Fee Introduction to a variety of advanced database topics and on-going trends in modern database systems and design. (Spring - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course provides students with a comprehensive overview of the principles, processes, and practices of agile software development. Students learn techniques for initiating, planning, and executing on software development projects using agile methodologies. Students will obtain practical knowledge of agile development frameworks and be able to distinguish between agile and traditional project management methodologies. Students will learn how to apply agile tools and techniques in the software development lifecycle from project ideation to deployment, including establishing an agile team environment, roles and responsibilities, communication and reporting methods, and embracing change. (Fall - 1st Session) [Graded Letter]
Credit(s) | $33 Fee This course focuses on the processes, methods, and techniques for developing quality software and maintaining quality software. Software testing processes at the unit, module, subsystem, and systems levels are discussed. Testing methods covered include automatic and manual generation of test data, static vs. dynamic analysis, functional testing, inspections, and reliability assessment. (Fall - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course provides an advanced exploration of essential methodologies and tools for data analysis. Students will gain expertise in data preprocessing, statistical modeling, machine learning, and data visualization. The course emphasizes real-world applications, preparing students to address complex data-related challenges in diverse domains. (Spring - 1st Session) [Graded Letter]
Credit(s) | $33 Fee Concentrated on computer networks, students will learn the fundamentals of networking, network management, and network design. Areas will include, but are not limited to, the abstraction layers of network communication, wireless networks, network security, and network architecture. Students will learn how to analyze and build basic computer networks that meet the needs of changing computing environments. (Spring - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee Concepts and techniques for testing and modifying software in evolving environments. Topics include software testing at the unit, module, subsystem, and system levels; developer testing; automatic and manual techniques for generating test data; testing concurrent and distributed software; designing and implementing software to increase maintainability and reuse; evaluating software for change; and validating software changes. (Summer - 1st Session) [Graded Letter]
Credit(s) | $33 Fee An overview of Artificial Intelligence (AI), approaching the concept from its origins to expectations for the future. The course will focus on different technologies and utilizing the concepts/skills widely accepted for AI. (Summer - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course will cover a series of important Big-Data-related problems and their solutions. Specifically, we will introduce the characteristics and challenges of Big Data, state-of-the-art computing paradigms and platforms, programming tools, and techniques for managing, processing, and visualizing large data sets. (Fall - 1st Session) [Graded Letter]
Credit(s) | $33 Fee This course is about designing algorithms for computational problems and how to think clearly about analyzing correctness and running time. The course explores fundamental algorithm design techniques such as greedy, divide and conquer, dynamic programming, network flow, reduction, approximation, linear programming, and randomization for efficient algorithm construction. (Fall - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course will explore the trade-offs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), and file systems; and on operating system support for distributed systems. (Spring - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course provides a foundation for building secure software by applying security principles to the software development lifecycle. Topics covered include security in requirements engineering, secure designs, risk analysis, threat modeling, deploying cryptographic algorithms, defensive coding, penetration testing, fuzzing, static analysis, and security assessment. Students will learn the practical skills for developing and testing for secure software while also learning sound security fundamentals from real-world case studies. (Fall - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee This course will provide students with an introduction, overview, and history of NoSQL databases. The major types of NoSQL databases (e.g. Document-oriented, Key-Value Pair, Column-oriented, and Graph) will be explored in detail. (Spring - 1st Session) [Graded Letter]
Credit(s) | $33 Fee Fundamentals in design and quantitative analysis of modern computer architecture and systems, including instruction set architecture, basic and advanced pipelining, superscalar and VLIW instruction-level parallelism, memory hierarchy, storage, and interconnects. (Summer - 1st Session) [Graded Letter]
Credit(s) | $33 Fee This course explores the field of Mixed Reality through research topics at the intersection of Computer Vision, Computer Graphics, and Human-Computer Interaction. Topics covered may include but are not limited to 3D interaction techniques, remote collaboration, tracking methods, photometric registration, navigation, and more. (Summer - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee Exploration of advanced topics in Artificial Intelligence, focusing on the intersection of language, vision, machine learning, decision making, and cognitive modeling towards embodied AI agents that can communicate, learn, reason, perceive, and act. Emphasis on research methods and practice, through analysis of current literature, and discussion of research challenges and opportunities. (Fall - 1st Session) [Graded Letter]
Credit(s) | $33 Fee This course gives a graduate-level introduction to machine learning and in-depth coverage of new and advanced methods in machine learning, as well as their underlying theory. It emphasizes approaches with practical relevance and discusses a number of recent applications of machine learning in areas like information retrieval, recommender systems, data mining, computer vision, and natural language processing. An open research project is a major part of the course. (Spring - 1st Session) [Graded Letter]
Credit(s) | $33 Fee This course will help students delve into the core principles of deep learning, mastering neural network architectures, data preprocessing, and model optimization. They will also gain expertise in applying deep learning to computer vision and natural language processing, explore ethical considerations, and engage in independent research. Through practical projects, students will build a portfolio of hands-on experience, develop strong programming skills, and enhance their ability to communicate complex concepts. Additionally, the program fosters teamwork and collaboration, preparing students for interdisciplinary applications in various industries while instilling a commitment to lifelong learning in the rapidly evolving field of deep learning and artificial intelligence. (Spring - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee The Internet protocols have revolutionized communications. This advanced networking course will equip students with a deep knowledge of network concepts, protocol design, and performance analysis that make the Internet work, help develop critical insight into their design, and obtain a first-hand feel for implementation through homework and project exercises. (Fall - 2nd Session) [Graded Letter]
Credit(s) | $33 Fee Data Mining studies algorithms and computational paradigms that allow computers to find patterns and regularities in databases, perform prediction and forecasting, and generally improve their performance through interaction with data. Important related technologies as data warehousing and on-line analytical processing (OLAP) will be also discussed. (Summer - 1st Session) [Graded Letter]
Credit(s) | $33 Fee Computer vision enables computing systems to extract meaningful information from digital images, videos, and other visual inputs to make computable decisions. The course will provide an overview of the challenges of human-computer vision and current techniques. (Summer - 2nd Session) [Graded Letter]