Official website

of the Commonwealth of Pennsylvania

Course Search Results

  • 3.00 Credits

    Students will study the four categories of programming languages: imperative, object-oriented, functional and logic. An in-depth discussion of the imperative languages will be followed by discussions of the other three paradigms. Students will be required to investigate at least one language.
  • 3.00 Credits

    Studies the architecture, algorithms, and programming that are involved with parallel processing. Students will learn how parallel architecture affects the design of parallel algorithms and parallel programming. Architectures shall include the prevailing message passing and shared memory architectures. Students will learn how to design parallel algorithms and how to think in parallel. Students will learn how to write parallel programs, using a prevailing parallel programming language. Programming may be done by remotely using an account at a supercomputer center, using serial computers that are working together to solve a problem (a cluster), or using an individual computer which has multiple processors within it.
  • 3.00 Credits

    This course is an introduction to abstract machine theory, combinatorial systems, computable functions, and formal linguistics. Topics include finite-state machines, regular sets, Turing machines, Chomsky hierarchy grammars and languages. Emphasis is on surveying basic topics and developing an intuitive understanding in the theory of languages.
  • 3.00 Credits

    This course studies the design and construction of compilers. Lexical analysis, syntactic analysis and code generation are investigated in detail. Language design, interpreters, semantic analysis, intermediate code generation and code optimization are also considered.
  • 3.00 Credits

    Surveys the thinking and some of the pioneering efforts in the area of artificial intelligence (AI), integrated with more traditional approaches to decision-making. Applies AI principles through the use of logic programming languages.
  • 3.00 Credits

    Numerical Analysis-In this course, various mathematical algorithms and applications relating to the numerical computation are investigated. Topics include: round off errors and computer arithmetic; numerical instability; error analysis and estimation; approximation; Gaussian elimination and pivoting strategies for linear systems; numerical integration and numerical solution of differential equations; curve fitting, polynomial approximation; and regression.
  • 3.00 Credits

    This course introduces students to software engineering. They will study its history, terminology, requirements, specifications, and design. The students will write requirements, specifications, and design documents, and one or more papers on software engineering topics.
  • 3.00 Credits

    This course is a continuation of CMSC 4900 and the capstone course of the program. The project proposal developed and designed in the first Senior Project class will be implemented in this course. The student will produce a project users' manual and will demonstrate proficiency in the academic program through the development of the project.
  • 1.00 Credits

    The internship in computer science is intended to give the student an opportunity for on-the-job experience in theoretical or applied computer science. The internship shall incorporate meaningful productive experience usually during the junior year. Time spent and the nature of the experience is usually under the control of the local agency and is used in the determination of the amount of credit obtained. In addition to the hours spent on the job, the student shall also be responsible to the department Internship Coordinator. Prerequisite: Permission of the department Internship Coordinator.
  • 3.00 Credits

    Introduces students to the knowledge and skills necessary for developing effective oral communication. Course topics include audience analysis and research, organization, language use, style, and delivery that facilitate effective communication with a variety of audiences. Students are responsible for delivery of multiple speeches.
(external site) (opens in a new tab)