Computer Science Courses

Computer Science (CSC) courses

  • CSC 600 Hardware, Software, and Troubleshooting Personal Computers

    An introduction to the installation, maintenance, troubleshooting, upgrading, simple repair, and management of personal computers found in educational settings. This course will provide numerous laboratory experiences providing hands-on experience with the goal of enabling students to support personal computer laboratories found in PK-12 schools. May be taught concurrently with CSC 500. Cannot receive credit for both CSC 500 and CSC 600.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    322Upon demand
  • CSC 605 Web-Based Resources in Educational Settings

    An introduction to the design, implementation, and management of World Wide Web resources over the internet and intranet networks. Topics include Internet overview, web authoring, web programming, server setting and maintenance. The objective of the course is to know tools (HTML, JavaScript, and Java applets, and Internet Server software, and Navigator/Internet Explorer software packages), and their applicability in WWW design and management in PK-12 school settings. May be taught concurrently with CSC 505. Cannot receive credit for both CSC 505 and CSC 605.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    220Upon demand
  • CSC 610 Networking and Telecommunications in Educational Settings

    An introduction to networking and data communications from an educator's perspective. The course will examine the necessary computer hardware, software, and personnel resources relevant to networking and data communication requirements in various educational settings. Local Area Networks, Wide Area Networks, Network Interconnections, and the internet will be addressed. May be taught concurrently with CSC 510. Cannot receive credit for both CSC 510 and CSC 610.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    220Upon demand
  • CSC 611 Algorithms and Advanced Data Structures

    A study of algorithms and advanced data structures including graphs, heaps, hashing, self-adjusting data structures, set representations, greedy algorithms, dynamic programming and introduction to NP-complete problems. The course emphasizes on the study of efficiency and algorithm analysis. May be taught concurrently with CSC 325. Cannot receive credit for both CSC 325 and CSC 611.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 612 Advanced Database System Concepts

    A study of modern database systems and their underlying concepts. Core topics include the relational model, SQL, database design theory, query processing, file structures, transactions, and concurrency. Programming projects provide practical experience in developing GUI database applications. May be taught concurrently with CSC 335. Cannot receive credit for both CSC 612 and CSC 335.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 613 Computer Systems Fundamentals

    An integrated introduction to computer systems fundamentals. Topics include computer architecture and major components, operating system concepts and implementation techniques (processes, threads, memory management, and distributed systems), and network theory, concepts and techniques. May be taught concurrently with CSC 344. Cannot receive credit for both CSC 344 and CSC 613.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 615 Advanced Internet Programming

    Topics include HTML as a semantic language, advanced CSS techniques, the DOM event model, asynchronous JavaScript, user input validation, utilizing 3rd party APIs, authentication over HTTP and high performance site design (including request minification and compression). Security principles will be reinforced throughout the course. May be taught concurrently with CSC 515. Cannot receive credit for both CSC 615 and CSC 515.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Spring
  • CSC 621 Compiler Construction

    Topics include lexical analysis, parsing, symbol tables, type checking, run-time organization, code generation, basic code optimization, and the use of compiler development tools. The student must write a complete compiler for a small imperative programming language. May be taught concurrently with CSC 521. Cannot receive credit for both CSC 521 and CSC 621.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    432Upon demand
  • CSC 625 Computer Graphics

    An introduction to two-dimensional and three-dimensional computer rendering. Topics will include computer graphics API's, techniques and algorithms for object modeling, viewing, transformations, and event-driven programming. May be taught concurrently with CSC 525. Cannot receive credit for both CSC 525 and CSC 625.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 626 Methods of Optimization

    Convex sets, classical optimization of functions, constrained optimization, search techniques, linear and nonlinear optimization, applications to applied problems. May be taught concurrently with CSC 526. Cannot receive credit for both CSC 526 and CSC 626.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 635 Data Mining

    Recommended Prerequisite: equivalent of CSC 232. Introduction to the basic concepts of data mining including data preprocessing, classification, clustering and association rules mining. The focus will be on understanding the algorithms underlying data mining and on the practical use of those algorithms. May be taught concurrently with CSC 535. Cannot receive credit for both CSC 535 and CSC 635.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 640 Introduction to Artificial Intelligence

    Recommended Prerequisite: equivalent of CSC 325. Modern techniques for the implementation of goal-directed behavior in intelligent systems, including knowledge representation, search, perception, reasoning, and learning. May be taught concurrently with CSC 540. Cannot receive credit for both CSC 640 and CSC 540.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Spring
  • CSC 645 Computer Speech, Music and Images

    This is an applied course focusing on the technical aspects of computer-based multimedia-speech, music, audio, and video. In any given semester, the focus may be more on audio or image processing, or it may be equally balanced between the two. Topics include multimedia data capture and representation, methods of data compression, multimedia information retrieval, and multimedia standards. May be taught concurrently with CSC 545. Cannot receive credit for both CSC 645 and CSC 545.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 655 Software Quality Assurance and Project Management

    A broad coverage of software quality and testing including quality assurance, inspections and reviews, software validation and verification, various testing techniques, and related tools. Other topics are essential software project planning steps, cost estimation, productivity metrics, release and configuration management concepts. May be taught concurrently with CSC 455. Cannot receive credit for both CSC 655 and CSC 455.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 660 Operating Systems

    Introduction to operating systems concepts, principles, and design. Topics include: processes, threads, CPU scheduling, mutual exclusion, process synchronization, deadlocks, memory management, file systems, i/o systems, disk management, distributed systems, security and protection. May be taught concurrently with CSC 360. Cannot receive credit for both CSC 360 and CSC 660.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall, Spring
  • CSC 665 Computer Networks

    An introduction to the theory, concepts and techniques upon which modern computer networks are based. The emphasis will be on layered network architectures, the design frameworks for both local and wide area networks and communication protocols. May be taught concurrently with CSC 565. Cannot receive credit for both CSC 565 and CSC 665.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 667 Mobile Computing Applications

    An introduction to the design, development, and publication of software applications for mobile devices. Course topics will include design and creation of basic and advanced applications, use of an integrated development environment, performance and security issues, and application packaging and distribution mechanisms. May be taught concurrently with CSC 567. Cannot receive credit or both CSC 667 and CSC 567.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Spring
  • CSC 687 Computing for Bioinformatics

    This course focuses on computational techniques used in bioinformatics. Topics will include nucleotide and amino acid data representation, sequence alignment, coding sequence prediction, and use of statistical models. Students will learn to use bioinformatics libraries with a script language such as Python or Perl. May be taught concurrently with CSC 587. Cannot receive credit for both CSC 687 and CSC 587.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 690 Advanced Topics in Computer Science

    Variable content course with topics in the field of Computer Science. Topics may be identified by title in the schedule of classes. May be repeated in a different topic is offered. May be taught concurrently with CSC 590. Cannot receive credit for both CSC 590 and CSC 690.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-4Upon demand
  • CSC 696 Special Readings

    Prerequisite: permission of department head.

    Directed study with a faculty member. Periodic conferences with the faculty member are required. A maximum of three credit hours may count towards the degree. May be taught concurrently with CSC 596. Cannot receive credit for both CSC 596 and CSC 696.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-3Upon demand
  • CSC 701 Seminar I

    Computer Science literature and research methods. Students will read research literature in Computer Science and make presentations describing that research. Students will attend presentations by faculty, visitors, and other students. Graded Pass/Not Pass only.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    110Fall
  • CSC 702 Seminar II

    Prerequisite: CSC 701.

    Continuation of CSC 701 with a focus on tools and methods for data analysis. Students will make oral presentations that report experimental results and will attend presentations by faculty, visitors, and other students. Graded Pass/Not Pass only.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    220Spring
  • CSC 735 Data Analytics

    Study of tools, techniques and frameworks for extracting useful information from large data. Study of machine learning algorithms for data analytics. Visual display of results.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall (even-numbered years)
  • CSC 736 Machine Learning

    Prerequisite: CSC 325.

    Machine learning explores the study and construction of algorithms that can learn from data. This study combines ideas from both computer science and statistics. The study of learning from data is playing an increasingly important role in numerous areas of science and technology. This course will familiarize students with several frequently used machine learning models and algorithms to attack real world problems and prepare students for research or industry application of machine learning techniques.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Upon demand
  • CSC 742 Evolutionary Computing

    Principles and applications of programs inspired by biological principles. Genetic algorithms and their use in search and optimization. Problem representation, operators, and control. Artificial life and the use of evolutionary computation in robotics.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 745 Advanced Multimedia Programming

    Advanced aspects of computer-based multimedia. Topics may differ from semester to semester but will be chosen from computer vision, speech recognition, gesture recognition, image and audio signal processing, data visualization, and multimedia information retrieval.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 746 Human Computer Interaction

    Research and practice in Human-Computer interaction (HCI). Impact of human perception and cognition on user interface design. Tools for building graphical user interfaces (GUIs) and multimodal user interfaces incorporating speech and gesture. Research methods.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Fall
  • CSC 747 Multimedia Communications

    This course introduces fundamental technologies for multimedia coding, processing, and communications. Emphasis will be given on content representation, delivery over a variety of networks, and various applications including compression, adaptation, and authentication.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Spring
  • CSC 765 Ubiquitous Computing and Internet of Things

    Prerequisite: CSC 665 or equivalent course or background approved by the instructor.

    An introduction to some of the fundamental concepts and state-of-the-art research in the areas of ubiquitous computing (UbiComp). A significant portion of the course will cover the Internet of Things (IoT). Less emphasis will be given to the hardware and device level details. The major focus of this course is Internet Evolution and Wireless Technologies, Location Services in UbiComp, context-aware computing, privacy and security, wearable computing, mobile OS, IoT and data analytics, cloud computing. Students will learn to carry out research in UbiComp and IoT.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    330Spring
  • CSC 790 Graduate Topics in Computer Science

    Variable content course with topics that can change from semester to semester. Topics may be identified by title in the class schedule. May be repeated if a different topic is offered.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-4Upon demand
  • CSC 796 Science Internship

    Completion of an internship project (480 hours) at a discipline-related business, nonprofit organization, or government agency, approved and supervised by both the departmental and internship advisors. Includes a formal report in the appropriate professional format, and an oral presentation at an approved venue. Graded Pass/Not Pass only. No more than 6 hours may count toward a masters degree.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-6Fall, Spring, Summer
  • CSC 798 Research in Computer Science

    Prerequisite: permission of department head.

    Supervised research in computer science. May be repeated, but no more than 6 hours may count toward the Master of Natural and Applied Science degree.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-4Fall, Spring
  • CSC 799 Thesis

    Prerequisite: permission of instructor.

    Independent research and study connected with preparation of thesis. No more than 6 hours may count toward the Master of Natural and Applied Science degree.

    Credit hoursLecture contact hoursLab contact hoursTypically offered
    1-6Upon demand