CS Home Page
USM Home Page
USM Directory
USM Search

Web Search
Publishers List Dictionary

 

Graduate

Courses Offered

The following is a list of graduate courses offered by the Department of Computer Science and Statistics at USM. Prerequisites are listed by content with the USM equivalent course(s) specified in parenthesis.

  • CSC 510 -Multi-processing Prerequisites: Operating Systems and Computer Architecture (CSC 306 & CSC 306L), Organization of Programming Languages (CSC 308), and Statistics (MAT 320 or CSS 415) Corequisite: CSC 510L A continuation of CSC 306. Emphasis on intra-system communication
  • CSC 511 - Database Management Systems Prerequisites: Operating Systems and Computer Architecture (CSC 306 & CSC 306L) and Data Structures and Algorithm Analysis (CSC 307) Design and implementation of DBMS. Survey of research literature.
  • CSC 512 -Artificial Intelligence Prerequisite: Organization of Programming Languages (CSC 308) Concepts and techniques of intelligent systems. Survey of research literature.
  • CSC 513 -Algorithms Prerequisite: Organization of Programming Languages (CSC 308) Design and analysis of algorithms. Complexity theory.
  • CSC 514 -Software Design and Development Prerequisite: Organization of Programming Languages (CSC 308) Corequisite: CSC 514L Formal software development. Team projects.
  • CSC 515 -Theory Of Programming Languages Prerequisite: Organization of Programming Languages (CSC 308) Formal treatment of programming language translation and compiler design concepts
  • CSC 521 -Relational Data Base Management Systems Prerequisite: Database Management Systems Design (CSC 411) Theory of relational systems, comparison of relational and conventional systems, use of state-of-the-art relational systems such as ORACLE.
  • CSC 524 - Software Engineering II Prerequisite: Software Design and Development (CSC 414) Programming languages and software design, modular/object oriented design, team programming, human factors, case studies.
  • CSC 544 -Robotic Systems: Theory, Development and Analysis Prerequisite: Linear Algebra (MAT 326) Robotic system development, direct kinematics, arm equation, workspace analysis, trajectory planning and robotic programming methodology.
  • CSC 616 -Automata, Computability, and Formal Languages Prerequisite: Theory of Programming Languages (CSC 415) Formal models of computation. Computability, complexity, and languages.
  • CSC 620 -Formal Methods of Programming Languages Prerequisite: Automata, Computability, and Formal Languages (CSC 616) Data and control abstractions. Backtracking and non-determinism. Functional and logic programming. Program specification and verification.
  • CSC 623 -Analytical Models of Operating Systems Prerequisite: Operating Systems and Computer Architecture II(CSC 410) Examination of the major models that have been used to study operating systems and the computer systems which they manage. Petri nets, data flow diagrams, and other models of parallel behavior. Fundamentals of queuing theory.
  • CSC 624 -Computer Communication Networks & Distributed Processing Prerequisite: Analytical Models of Operating Systems (CSC 623) Study of networks of interacting computers. Problems, rationales, and possible solutions for both distributed processing and distributed databases. Major national and international communication protocols will be presented.
  • CSC 625 -Computer Graphics Prerequisites: Integral Calculus (MAT 168) Architecture of display systems, basic 2-D and 3-D mathematics, 3-D viewing and geometry, advanced architectures for raster and vector displays, hidden line and hidden surface problems, realistic imaging, software design for 3-D systems.
  • CSC 626 -Advanced Computer Architecture Prerequisite: Operating Systems and Computer Architecture II(CSC 410) Introduction to various architecture's and techniques which have been developed or are proposed in the literature. Pipelined architecture, dynamic system architecture, data flow architecture, array processing.
  • CSC 629 -Applied Combinatorics and Graph Theory Prerequisite: Automata, Computability, and Formal Languages (CSC 616) Study of combinatorial and graphical techniques for complexity analysis including generating functions, recurrence relations, Polya's theory of counting, and NP complete problems.
  • CSC 630 -Parallel Programming Techniques Prerequisites: Operating Systems (CSC 306) and a good knowledge of C and Unix. An application oriented course which will use a hands-on approach to teach methods for programming parallel applications on single and multi-cpu machines.
  • CSC 632 -Artificial Intelligence. Prerequisite: Introduction to Artificial Intelligence (CSC 412) Relatively unfocused, relatively focused, heuristic, and probabilistic reasoning. Production rule systems. Knowledge-based and expert systems. Survey of current research.
  • CSC 633 -Distributed Database Systems Prerequisite: Analytical Models of Operating Systems (CSC 623) A consideration of the problems and opportunities inherent in distributed databases on a network computer system. Includes file allocation, directory systems, mutual exclusion, deadlock detection and prevention, synchronization, query optimization, and fault tolerance.
  • CSC 634 -Information Storage and Access Prerequisite: Database Management Systems Design (CSC 411) Advanced data structures, file structures, and databases, with an emphasis on specialized problem areas. Access and maintenance issues.
  • CSC 636 -Modeling and Simulation Prerequisite: Basic Probability (CSS 415 or MAT 470) A study of the construction of models which simulate real systems. Includes probability and distribution theory, statistical estimation and inference, the use of random variates, and validation procedures. A simulation language is used for the solution of typical problems.
  • CSC 638 -Advanced Computer Algorithms Prerequisite: Algorithms (CSC 413) Study of recent advances in algorithm design and analysis.
  • CSC 640 -Mathematical Programming Prerequisites: Linear Programming (CSS 320) and Linear Algebra (MAT 326) Modeling, Simplex Method and modifications, duality. Networks and integer programming algorithms.
  • CSC 644 -Advanced Robotic Systems Prerequisite: Robotic Systems (CSC 444) To introduce students to advanced topics and prospective research areas in the field of robotics and its relation to AI, world modeling and simulation.
  • CSC 645 -Expert Systems Prerequisite: Artificial Intelligence (CSC 632) Review of classical expert systems. Study of knowledge representation, acquisition and epistemology to formulate rule based systems. Study of inference engines using statistics, Bayes' Theorem, Heuristic Techniques.
  • CSC 690 -Seminar in Computer Science. (1 hour credit)
  • CSC 691 -Topics in Computer Science Special topics in computer science of current interest to faculty and students, e.g., robotics, neural networks, pattern recognition. May not be repeated more than two times for credit.
  • CSC 695 -Directed Study (1-3 hours credit) Individual study by a student on an area or problem approved by the student's academic adviser.
  • CSC 697 -Independent Study and Research (1-9 hours credit) Not to be counted toward degree. Students who are not in residence, but who are actively working on a thesis or project and consulting with thesis or project adviser or making use of the library or other University facilities must enroll in this course.
  • CSC 698 -Thesis (1-6 hours credit) For a total of 6 hours credit.
  • CSC 699 -Project (1-3 hours credit) For a total of 3 hours credit.

A student may not receive graduate credit for a course which, to some extent, duplicates work for which credit was received as an undergraduate. Should a graduate course which previously duplicated an undergraduate course be changed so that its content is significantly different, then the student may take the graduate course after obtaining permission from his/her graduate committee.

   


   Maintained by shahram.rahimi@usm.edu
   Last modified on February 25, 2002