Official website

of the Commonwealth of Pennsylvania

Course Search Results

  • 4.00 Credits

    This course is an introduction to operating systems concepts and design principles. Topics will include all the major areas of operating systems such as process control, memory management, file systems, input/output and security. Theory will be demonstrated by hands-on experience. Students will be required to complete operating system kernel projects where they will write and/or modify operating system code and demonstrate its impact on the performance of the system. Prerequisite:    CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND CMSC230 OR CPSC230 AND CMSC232 OR CPSC232 AND CMSC250 OR CPSC250 AND MATH220
  • 3.00 Credits

    In this course students will learn how to effectively design efficient, secure applications using the industry-strength Application Programming Interfaces from .NET and Java. This course covers fundamentals of Cryptography, .NET Symmetric Cryptography, .NET Asymmetric Cryptography, .NET Digital Signatures, XML Signatures, ASP.NET Security, Web Service Security, Java Cryptography Architecture (JCA), and Java Cryptography Extension (JCE). This is a programming intensive course. Prerequisite:    CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND CMSC230 OR CPSC230 AND CMSC250 OR CPSC250
  • 4.00 Credits

    This course provides students with an introduction to the field of cryptology. Students will study block and stream ciphers, symmetric and asymmetric ciphers, the strength and weaknesses of ciphers, encryption standards, public key cryptography, digital signatures, key management, hash functions, and message authentication codes. Students will be required to create working software based on cryptographic algorithms. Prerequisite:    CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND CMSC230 OR CPSC230 AND CMSC250 OR CPSC250 AND MATH140 AND MATH220
  • 3.00 Credits

    This course is designed to teach students the fundamentals in the field of Data Science. This course covers the basics of programming environment for data analysis, data manipulation (data index, selection, merge, join, aggregation, grouping), data cleaning, and data visualization (2-D plots, 3-D plots). This is a programming intensive course. Prerequisite:    CMSC120 OR CPSC120 OR CMSC230 OR CPSC230 OR MATH318 AND MATH110 OR MATH311
  • 3.00 Credits

    This course is an introduction to computer graphics. Basic principles for design, use, understanding of graphic systems will be studied. Algorithms for creating and manipulating graphic displays and a standard programming language for their implementation will be presented. There will be programming practice. This course is usually offered in alternate years. Prerequisite:    CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND MATH320 AND CMSC230 OR CPSC230 AND CMSC250 OR CPSC250
  • 3.00 Credits

    Search engine systems like Google and Yahoo! are essential tools for finding the most valuable and relevant information, given the explosion of digital information available today. This course studies the design, implementation, and evaluation of modern information retrieval systems, such as web search engines. Topics include: retrieval system design and implementation, text analysis techniques, retrieval models (e.g. Boolean, vector space, probabilistic, and learning-based methods), search evaluation, retrieval feedback, search log mining, and applications in web information management.
  • 3.00 Credits

    A study of symbolic processing and intelligent applications; major models, state-space, problem-subproblem, automated deduction will be applied to solve problems in heuristic programming and artificial intelligence. This course is usually offered in alternate years. Prerequisite:    CMSC130 AND CMSC131 AND CMSC230 AND CMSC250
  • 3.00 Credits

    This course provides students with a broad introduction to machine learning, datamining, and statistical pattern recognition. Students will study data exploration, decision tree, K-nearest neighborhoods, linear regression, logistic regression, support vector machines, neural networks, ensemble learning, clustering, dimensionality reduction, and model evaluations. Students will be required to build predictive models based on machine algorithms. This course is usually offered in alternate years.
  • 3.00 Credits

    This course is a study of the principles of software engineering and various programming methodologies as applied to the development of large, complex software systems. Top-down, structured design and programming will be emphasized. There will be practice in the construction of a large software system. This course is usually offered in the fall. This is a programming intensive course. Prerequisite:    MATH311 AND CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND CMSC330 OR CPSC330 AND CMSC230 OR CPSC230 AND CMSC250 OR CPSC250
  • 3.00 Credits

    This course is an introduction to natural language processing in Computer Science. There will be a review of elementary text, tree, and graph processing and an introduction to syntactic and semantic processing. Syntax: Backus-Naur grammars, sentence generation/recognition, augmented transition networks, parsing strategies. Semantics: case grammar theory, frame theory. There will be case studies of current systems as well as programming practice. This course is usually offered in alternate years. Prerequisite:    CMSC130 OR CPSC130 AND CMSC131 OR CPSC131 AND CMSC141 OR CPSC141 AND CMSC330 OR CPSC330 AND CMSC230 OR CPSC230 AND CMSC250 OR CPSC250
(external site) (opens in a new tab)