98 courses with the subject CSC, 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.
CSC 101Intro to Computer Science Profession1
An introduction to career opportunities for computer scientists and strategies to improve academic performance in the discipline. Course topics include lectures by computer science professionals and seminars on active coping, collaborative learning, and the development of inclusive relationships.
This is an introductory course to prepare students for the technological demands of the workforce. Students gain hands-on experience using Internet applications and current word processing, spreadsheet, and presentation applications.
This is an introductory course to prepare students for the technological demands of the workforce. Students gain hands-on experience using Internet applications and current word processing, spreadsheet, and presentation applications.
Study of the fundamental concepts of the discipline with emphasis on information representation, algorithms and problem solving, computer hardware and software, data representation and the impact of computers in society.
Introduction to programming and problem solving in an object-oriented language with emphasis on basic programming constructs, arrays, debugging, software engineering practices, and the fundamentals of file handling.
The focus of this course is to provide further support in learning C++ programming language syntax, semantics, and developing students' abilities to apply the knowledge in transforming algorithms into C++ code. This course is a supplementary course to CSC 170. It is structured as a closed computer laboratory where students complete specific programming tasks within a fixed time.
This advanced computer course equips students with the necessary skills to enhance critical thinking, information literacy, and problem-solving abilities. The course primarily focuses on utilizing email, wireless networking, web searching, internet security, web page creation, and presentation tools.
Fundamentals of the architecture and operation of modern computers. Computer arithmetic: number systems, number conversions including IEEE binary floating point number standard. Basic computer logic gates: combinational and sequential circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming, basic Instruction Set Architecture (ISA), and the design of single cycle CPU. The MIPS based computers are used as example architecture, and alternative architectures are also discussed.
This course is designed for IT and computer professionals to learn computer and network security theories and practices that can be used to significantly reduce the security vulnerability of computers on internal networks or the Internet. Topics include cryptography, program security, operating systems security, database security, network security, security administration, computer ethics, and legal issues.
This course provides an overview of computer and video games, including evaluation and analysis of the cultural, historical, literary, psychological, and technological impact of games on society, education, and industry. Critical play is an important aspect of this course. Students conduct surveys of different game genres and study design, implementation, and testing issues that confront game developers. The course explores interactivity, learning, and storytelling as it relates to games.
An introduction to C programming in a UNIX environment. Course content includes the UNIX command interpreter Shell; the use of Shell scripts to create powerful tools and applications; and the development of application and systems programs using C.
Introduction to the core JAVA language with emphasis on application development using the latest JAVA class libraries such as Swing, JavaBeans, Java2D, Java3D. This course is designed for students who are familiar with object-oriented programming. The prerequisite course is Computer Programming II or equivalent knowledge.
Advanced Information Technology topics that are not generally covered in the curriculum. Designed as a Computer Science Applied Computing elective, not as a replacement for any specific required course. Course topic and syllabus must be approved by the Department Head.
This course provides essential knowledge and skills required of network administrators. It includes an overview of TCP/IP protocols and how to properly configure and manage network services based on the protocols (including DNS, DHCP, AD/LDAP directory services, print and file servers, NFS/NIS, and routing services). It also has practical lab components for students to learn how to set up, configure, troubleshoot, and administer the network services in both Windows and Linux environments.
A second Internet programming course concentrating on advanced Internet application development. Creation of relatively sophisticated web pages and applications that allow interactions between web page users and the web page as well as network programming, JSP, JDBC, XML processing are the focus of the course. Different Internet programming language and tools will also be included.
Introduction to core concepts in cloud computing. Students gain knowledge required for understanding cloud computing and becoming cloud practitioners. Concepts include essential characteristics of cloud computing, its history, and the business and emerging technology use cases enabled by cloud computing. Students are introduced to some of the current prominent service providers, the services they offer, and review of some case studies of cloud computing across the industry.
An introduction to the techniques used for designing, implementing, and testing human-computer interfaces. Topics include design methods for creating user centered interfaces, interface implementation, techniques and tools for event driven programming, and interface testing and evaluation.
This course prepares students to survey, analyze, and evaluate programming languages such as C, C++, Python, Java, Prolog, and Lisp. Topics include data structures and storage, control structures, execution environment, input/output, and the syntax and semantics of the languages.
This course is an applied introduction to the techniques used for modeling, animating, texturing, lighting, rendering, and creating 3-D content for games, animation, and visualizations in a team environment.
Analysis of data structures and algorithms using C++ as the implementation language. Detailed examination of lists, heaps, trees, graphs, file structures, and the use of formal methods with emphasis on the development and analysis of efficient algorithms.
This course focuses on the practical applications of computer algorithm design and analysis, emphasizing correctness and efficiency. Well-known data structures, problem-solving, paradigms and algorithms are explored to illustrate alternative ways to develop automated solutions to argue the correctness of implementations and to recognize opportunities to attain greater efficiencies versus naive approaches.
This course is an introduction to the design of software projects and the phases of the software development lifecycle (system requirements and analysis, design, implementation, testing, and maintenance). Emphasis is placed on the development of artifacts (documents and code) for software projects.
This course introduces students to the basic concepts of Game User Interface Design, process flowcharts, storytelling, storyboarding, and the basics of project management with respect to game design.
This course provides basic concepts necessary to understand, design and develop Android mobile applications. Students will learn the structure, services, and activities of Android applications by using the Android, Software Development Kit (SDK), the Java programming language, and Android Studio Integrated Development Environment (IDE). Students will be able to build a complete and publishable Android application that includes most of the key concepts presented in the course.
An introductory course providing individuals with the core skills needed to meet the demands of the Web development and Internet community. The three key skill areas focused on this course are Web management, content management, and technical management.
An introductory course emphasizing the basic concepts and principles of database systems. Topics include an introduction to database systems and databases, different database system models, basic system and language support for database systems, relational modes, relational algebra, introduction to relational database design as well as overview of common database system issues.
Introduction to database design methodology and tools, designing and building of forms and reports, database programming using embedded SQL, Internet/Web database and database administration.
Study of principles of computer communication as well as hardware and software designs, including transmission media, data encoding, transmission techniques, protocols, switching networks, broadcast networks, and local area networks.
The Internet of Things (IoT) is a platform where smart devices sense the environment, act and respond to needs closely or remotely through actuators. The course encompasses wireless data networking, embedded systems, and electronics. It further examines concepts of IoT, wireless technologies for IoT, cloud computing services, and object-oriented programming. Topics include data analytics for IoT, security and privacy, and IoT markets emphasizing hands-on experience with smart applications.
Introduction to Information Assurance concepts in addition to logging, encryption and decryption, effects on operating systems and machine architecture, countermeasures, risk analysis, security administration, legality and ethics, and computer forensics.
Solid foundation in network defense fundamentals covering conceptual and practical aspects of network security. Reviews threats to network security, defense-in-depth strategy and technologies, and network security policy design and implementation. Explores three key network defense technologies: firewalls, intrusion detection and prevention systems, and virtual private networks. Labs provide hands-on learning of network defense techniques to protect networks and communications.
Introduces the principles of number theory and the practice of network security and cryptographic algorithms. Topics include number theory, cryptography, key management, network security, web security, and protocols for secure electronic commerce.
Introduction to the history and evolution of operating systems, the concepts behind and structure of various operating systems, process scheduling, interprocess communication, input and output, multiprogramming, memory management and file systems. Concepts of distributed operating systems are also introduced.
The Advanced Computer Topics courses are not generally covered in the curriculum. They are designed as a Computer Science elective, not as a replacement for any specifically required course.
The Advanced Computer Topics courses are not generally covered in the curriculum. They are designed as a Computer Science elective, not as a replacement for any specifically required course.
Study of computer organization and architecture that deals with processors, their architectures, memory, input, output, the micro architectural level, instruction set architectural level, and the operating system machine level.
In-depth study of concepts and problem-solving techniques of artificial intelligence, including knowledge representation, functional and logic programming, machine learning, natural language understanding, computer vision, robotics, and societal impact.
This course introduces students to game design and development concepts. Topics include the history of games, genres, play elements, story and character development, game play and storyboard design, level and user interface design, and the game design document.
This is a project-oriented course on 3D Game Programming. Students will work in teams to design, implement and test a three-dimensional game with interactivity, game state diagrams, animation, sound, and constraints.
The Advanced Computer Topics courses are not generally covered in the curriculum. They are designed as a Computer Science elective, not as a replacement for any specifically required course.
The Advanced Computer Topics courses are not generally covered in the curriculum. They are designed as a Computer Science elective, not as a replacement for any specifically required course.
This course is an introduction to concepts and techniques for testing and modifying software applications. Emphasis is placed on quantitative and practical software methods applied within phases of the software development life cycle (SDLC). Topics include testing techniques (test first, development, graph coverage and criteria, logic-based and syntax-based techniques), automatic and manual testing, testing measurability, design of test plans, and validation of software changes.
This course introduces the student to the different aspects of software project management. It will emphasize the main activities and techniques that characterize the development of software products and project management body of knowledge (PMBOK). The main knowledge areas are covered including scope, time, cost, team, risk, and communication management with focus on software development. Agile Management (e.g., SCRUM) and other emerging practices will be covered.
This course covers the use of large-scale computing platforms, including desktop multicore processors, SMPs, message passing platforms, and virtualized cloud computing environments. It consists of topics on parallel/distributed programming platforms, algorithms, and applications. Design and implementation of distributed software components include process and memory management underlying software applications, sockets, protocols, threads, XML, serialization, reflection, security, and events.
This course represents the capstone experience of the Game Design and Development minor and serves to prepare students to pursue further game education or possibly enter the game design and development workforce. Students work to form teams (e.g., 3-5 members) to design, develop, and publish an original video or mobile game. Final projects are judged by a curated group of faculty and industry professionals.
This course focuses on the fundamentals of Digital and Network Forensics introducing students to the applicable laws, ethical responsibilities, and the technical skills required of digital forensics professionals. Students gain knowledge of network memory, hard drive analysis, criminal behavior, chain of custody, data acquisition, proper handling of evidence, image and file analysis, digital forensic reporting, and courtroom preparation.
Culminating course designed to synthesize computer science knowledge and experiences through participation in a research project of the student's choice. Results of the research are presented to peers and other interested members of the computer science community.
Culminating course designed to synthesize computer science knowledge and experiences through participation in a research project of the student's choice. Results of the research are presented to peers and other interested members of the computer science community.
An introductory course emphasizing the basic concepts and principles of database systems. Topics include relational, hierarchical, and network approaches to data organization.
This course focuses on the basic principles of computer communication, hardware, and software design. Topics include transmission media, data encoding, transmission techniques, protocols, switching networks, broadcast networks, and local area networks.
This course is designed for IT professionals to learn computer and network security theories and practices that can be used to significantly reduce the security vulnerability of computers on internal networks or the Internet. Topics include cryptography, program security, operating systems security, database security, network security, security administration, computer ethics, and legal issues.
This course is designed for Security System Administrators and Managers responsible for designing, planning, and managing security installations in Business and Government Institutions. Topics include management of information security, security planning, security protection (technical and procedural), best practices, risk management, operations security, legal issues, and certification and accreditation.
Topics include the history and evolution of operating systems, the concepts behind and structure of various operating systems, process scheduling, inter-process communication, input and output, multiprogramming, memory management, and file systems. Concepts of distributed operating systems are also introduced.
This course covers advanced computer topics not covered in the curriculum. Designed as a Computer Science elective, not as a replacement for any specific required course.
This course covers advanced computer topics not covered in the curriculum. Designed as a computer science elective, not as a replacement for any specific required course.
This course offers an in-depth study of concepts and problem-solving techniques of artificial intelligence. Topics include knowledge representation, functional and logic programming, machine learning, natural language understanding, computer vision, robotics, and societal impact.
This course introduces students to game design and development concepts. Topics include the history of games, genres, play elements, story and character development, game play and storyboard design, level and user interface design, and the game design document.
This is a project-oriented course on 3D game programming. Students will work in teams to design, implement and test a three-dimensional game with interactivity, game state diagram, animation, sound, and constraints. Students will also learn the basics of graphic design and animation.
This course introduces students to the major areas of simulation and the languages and systems used in these areas. Areas of simulation covered include gaming, military, health, network, business processes, and transportation. The types of simulation software discussed include process oriented, discrete event oriented, general purpose, and simulation environments.
This course covers advanced computer topics not covered in the curriculum. Designed as a computer science elective, not as a replacement for any specific required course.
This course covers advanced computer topics not covered in the curriculum. Designed as a Computer Science elective, not as a replacement for any specific required course.
This course focuses on interactive computer graphics hardware and software: display devices, 2D and 3D geometric transformations, raster algorithms, representation of curves and surfaces, hidden line removal and surfaces, shading algorithms, and color graphics.
An introduction to the fundamentals of compiler construction and language translation. Topics include lexical analysis, specifications of syntax, algorithms for syntactic analysis, code generation, and optimization techniques.
Machine learning is a subfield of artificial intelligence concerned with the design, analysis, implementation, and applications of programs that learn from experience. This course is about learning to extract statistical structure from data for making decisions, predictions, and visualizations. It gives in-depth coverage of advanced methods in machine learning, emphasizes approaches with practical relevance, and discusses a number of recent applications of machine learning.
This course provides students with an overview of applications of computational skills needed to solve scientific research problems. The computational skills in review include programming languages, algorithms, database implementation, internet technologies, data visualization, statistics, modeling and simulation, and operations research.
This course introduces the application of Artificial Intelligence in video game development. Students will learn to implement AI techniques for NPCs (non-player characters), including movement, decision-making, pathfinding, procedural content generation, and learning systems. The course will use a 3D game engine and one of the object-oriented programming languages.
This course covers the design and analysis of algorithms. Topics include Turing machines; NP-complete theory; best, average, and worst-case analysis; divide-and-conquer; greedy method; dynamic programming; graph traversal; backtracking and branch-and bound techniques. The course also covers sorting, searching, graph algorithms, and optimization.
This is an advanced graduate-level course focusing on the concept of internetworking in general and the TCP/IP Internet technology in particular. The course reviews both the architecture of network interconnections and the principles underlying protocols that make interconnected networks function as a single, unified communication system. It also covers how an internet communication system can be used for distributed computation and communication.
This course is an advanced course in Computer Security. It covers topics of current interest in Information Assurance. Topics to be covered include Digital Forensics, Intrusion Detection, Steganography, Security Usability, Cloud Computing, and Wireless Security.
Study of historical and modern cryptographic techniques and algorithms. Topics include symmetric and asymmetric key cryptography, one-way functions, secure hash functions, digital signatures, key exchange, authentication, key management, PKI, DES, AES (Rijndael), and current topics.
Study of high-performance computing techniques. Includes the study of parallel computer architecture, memory, and I/O. Also, parallel computer algorithms to include shared and distributed memory, parallel computation models, graph algorithms, numerical algorithms, and divide-and-conquer will be covered.
This course focusses on cutting-edge topics in Digital and Network Forensics. It introduces students to the applicable laws and ethical responsibilities of a digital forensics professional, the technical skills required, and open research problems in digital forensics. The course includes lectures, discussions, and demonstrations. It is designed around a virtual lab environment that provides robust and realistic hands-on experiences in dealing with a range of digital forensics topics.
Supervised independent project designed to give computer science graduate students an opportunity to explore a single topic in a one-to-one learning relationship with a faculty member.
A one-credit-hour course that allows students to apply their skills in a work setting. The credit earned through this course will not be counted towards MS.CSC degree credit. A student can take this course and repeat it up to three times when s/he is away from campus on outside employment for internship or practical training in a related technical field. This is a Pass/Fail course.
This course provides an opportunity to learn how to conduct research through practical experience with a research advisor. It exposes students to a subset of the following tasks based on the student's knowledge of research activities: development and implementation of a research topic, reviewing technical literature for relevancy to research topics, writing status reports, writing technical reports or papers of conference submission quality, attending and making technical presentations.
Optical networks, dynamic spectrum access in wireless networks, cognitive radio networks, network coding, and other newly emerged networking technologies are covered. Optical Network topics include WDM network elements, routing and wavelength assignment algorithms, blocking probability analysis, virtual/physical topology design, survivability, and IP over WDM. Other topics include enabling technologies for cognitive radio, channel assignment/selection, routing, security, and spectrum management.
A one-semester graduate-level course focusing on cloud computing technologies and solutions. It is designed to give students a solid foundation in cloud computing fundamentals. The course covers both the conceptual and practical aspects of cloud computing.
Introduction to core concepts and the latest research trends and results in developing secure software. Topics include the best practices in developing secure software within Software Development Lifecycle (SDLC), vulnerability assessment, and code analysis techniques.
This course covers state-of-the art advances, emerging trends, and threats in cybersecurity. Topics to be covered include current topics in Information Assurance, advanced digital forensics, new approaches to management of cybersecurity and new threats, vulnerabilities and controls.
Advanced computer topics that are not generally covered in the graduatea600/700 levela curriculum.aDesignedaas a Computer Science graduate elective, not as a replacement for any core course.
Advanced computer topics that are not generally covered in the graduatea600/700 levela curriculum.aDesignedaas a Computer Science graduate elective, not as a replacement for any core course.
Supervised independent project designed to give computer science graduate students an opportunity to explore a single topic in a one-to-one learning relationship with a faculty member.
This course explores advanced principles of project leadership and management providing students with the skills to lead complex software projects, focusing on strategic planning, advanced methodologies, and decision-making. It integrates traditional Project Management Body of Knowledge (PMBOK) practices with Agile frameworks and Continuous Integration/Continuous Deployment (CI/CD) strategies. The course emphasizes strategic decision-making, team leadership, and communication skills.
Guided master's research project under the supervision of a research project advisor and the course instructor; requires extensive expository work and other tasks and a formal project report with a public presentation of the project's work.
First semester of the master's thesis sequence. Under the supervision of the thesis advisor, students prepare a thesis proposal and work toward the goal of completing all background material needed for their research. A satisfactory thesis draft and presentation to the committee will be used to satisfy completion of the course.
The culmination of the two-semester master's thesis sequence. Students must complete a thesis document and defend the work in a public presentation to their committee.