ESU HOME NEWS & EVENTS SUPPORT ESU A-Z INDEX BUSINESS & COMMUNITY
Text Size: S N M L       

Course Descriptions


Search ESU

East Stroudsburg University
Science & Technology Center
Room 318
East Stroudsburg, PA 18301
(570) 422-3666
(570) 422-3490 (Fax)


Department Chair
Computer Science

Haklin Kimm
hkimm@po-box.esu.edu
(570)422-3523

 

Page Top
CPSC 521 Computer Graphics (3:3:0)
This course is an introduction to computer graphics. Basic principles for design, use, and understanding of graphics 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. Prerequisite: Ability to program in "C" or "C++."

CPSC 523 Discrete Optimization Algorithms (3:3:0)
This course introduces students to dynamic, linear, and integer programming algorithms. There will be programming practice involving these algorithms.

CPSC 525 Expert Systems (3:3:0)
This course is an introduction to knowledge-based systems. Basic concepts, characteristics, architectures, and tools will be studied. Major paradigms for synthesis and analysis class systems, and exact and inexact reasoning systems will be discussed. Computational and knowledge engineering issues will be treated by case studies and there will be programming practice.

CPSC 527 Robotics (3:3:0)
This course is an introduction to robotics on a technical level. The history of robotics, computer-aided manufacturing, robot components, sensors, programming systems, applications, and future implications of robotics technology will be studied. There will be hands-on experience with a robot.

CPSC 528 Artificial Intelligence and Heuristic Programming (3:3:0)
This course is an introduction to artificial intelligence and heuristic programming techniques. Search strategies, games, heuristic mechanisms, and automated deduction will be studied. There will be programming practice. For graduate credit, a student will be required to write a term paper or execute a project which reflects deeper investigation of the topics covered in the course.

CPSC 529 Machine Learning (3:3:0)
This course is an introduction to techniques which enable software to improve its performance over time. History and classic experiments will be presented. Programs will be studied which perform rote learning, learn by being told, learn by analogy, learn from examples (induction), and learn by observation and discovery. There will be some programming practice.

CPSC 530 Software Engineering (3:3:0)
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. Prerequisites: MATH 311, CPSC 111, 251, 330.

CPSC 531 Advanced Topics in Software Engineering (3:3:0)
This course will introduce the students to the current theoretical models and approaches used in the design, construction, and management of large, complex systems with long life cycles. Topic areas include requirements specification, design, configuration management, technical reviews, quality assurance, testing, and metrics. Case studies will be undertakento compare the various approaches. Prerequisite: CPSC 530.

CPSC 532 Natural Language Processing (3:3:0)
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. For syntax, Backus-Naur form grammars, sentence generation/recognition, augmented transition networks, and parsing strategies will be studied. For semantics, case grammar theory, and parsing strategies will be studied. There will be case studies of current systems as well as programming practice. For graduate credit, a student will be required to write a term paper or execute a project.

CPSC 533 Compiler Construction (3:3:0)
This course is an introduction to the methods and techniques involved in translating high-level languages, such as "C," into executable machine code. Lexical scanning, parsing, symbol table construction, object code generation, and optimization will be studied and a compiler will be written. For graduate credit, a student will be required to write a term paper or execute a project which reflects deeper investigation of the topics covered in the course.

CPSC 535 Parallel Computing (3:3:0)
This course is an introduction to parallel computing, a rapidly growing area of computer science. Principles of parallel computer architecture and parallel algorithms for various applications will be studied. There will be practice in parallel programming. Prerequisites: CPSC 251, 541, MATH 320.

CPSC 541 Computer Architecture (3:3:0)
This course involves the study of computer systems structure, organization, implementation, and performance. Von-Neumann machines, from the early EDVAC to current microprocessors will be considered. Parallel processors and other specialized architectures will also be studied.

CPSC 542 Operating System Design (3:3:0)
This course will thoroughly examine the principles of the design of computer operating systems. Emphasis will be placed on process allocation and scheduling, concurrent programming, memory management, device management, file management, and protection. How the principles are implemented in an existing operating system will be examined.

CPSC 544 Realtime Systems (3:3:0)
This course is an introduction to the problems, concepts, and techniques involved in computer systems which must monitor and control external devices or events. This includes techniques and hardware for data collection and control functions. Applications discussed will include microprocessor-controlled intelligent devices and process control. For graduate credit, a student will be required to write a term paper or execute a project which reflects deeper investigation of the topics covered in the course.

CPSC 545 Networking and Data Communications (3:3:0)
This course gives students a foundation in the study of data communications and computer networking. Topics covered will include basic data communications, Open Systems Interconnect (OSI) Model, Local Area Networks (LAN) and common communications standards. For graduate credit a student will be required to write a term paper or execute a project which reflects deeper investigation of the topics covered in the course.

CPSC 547 Distributed Object Programming (3:3:0)
This course in intended for students who are interested in understanding and developing application projects with an object-oriented programming language such as Java in distributed computing environments. The course begins with a brief introduction to object technology with programming and introduction to computer networking, and is followed by understanding and developing programs in the server/client model, Remote Method Interface (RMI), and Common Object Request Broker Architecture (CORBA). For graduate credit a student will be required to write a term paper or execute a project which reflects deeper investigationof the topics in the course.

CPSC 548 Applied Network Security (3:3:0)
This course builds on the foundation laid in CPSC 445 or 545 by providing in-depth laboratory and classroom exercises using commercial-off-the-shelf (COTS) technology. Students will configure network servers, routers, hubs, firewalls and intrusion detection devices to discover the effect eachdevice can have on overall system security. In-class exercises guide discussions while student projects reinforce subject matter. Students will complete a research project in network security. Prerequisite: CPSC 445 or CPSC 545.

CPSC 550 Algorithmic Graph Theory (3:3:0)
This course is an algorithmic approach to the mathematical theory of graphs and their applications. Path problems, covers, network flows and other problems will be formulated in graph theoreticalterms and solutions will be programmed. This course is usually offered in alternate years. This is a programming intensive course. Prerequisites: CPSC 111, 251.

CPSC 553 Database Systems (3:3:0)
This course is an introduction to the management of large volumes of interrelated data through integrated database management software. Topics discussed will include relationships between data items, effects of redundancy and database design. Representative examples of the relational and network approaches to database management will be examined. For graduate credit, a student will be required to write a term paper or execute a project which reflects deeper investigation of the topics covered in the course.

CPSC 554 Data Structures and Algorithm Analysis (3:3:0)
This course will analyze a variety of algorithms from the standpoint of what data structures are used and how they are implemented. Students will be introduced to the classes of NP-hard and NP-complete problems and to the theories of complexity analysis.

CPSC 560 Applied Computer Cryptography (3:3:0)
The focus of this course is developing computer algorithms for generating random numbers, symmetric and asymmetric ciphers, and cryptographic keys. Programming assignments of stream and block ciphers will reinforce ideas covered in CPSC 325. Students will be required to write basic public-key cryptography code as a final project. Prerequisites: CPSC 325, 251, MATH 220.

CPSC 562 Theory of Computation (3:3:0)
This course will introduce abstract counterparts of physical machines and algorithms. Turing machines and other automata will be presented. The notions of algorithms, computability and unsolvability will be rigorously defined and studied. Some problems not solvable by instruction-obeying machines will be examined.

CPSC 563 Theory of Abstract Languages (3:3:0)
This course is an introduction to sets of strings of symbols, their representations, structures, and properties. Abstract languages, formal grammars, productions, the Chomsky hierarchy, generation and recognition mechanisms for languages, and the relationship of formal languages to automata will be studied.

CPSC 570 Introduction to Research (3:3:0)
This course will introduce the student to the professional (open) literature as well as other sources in computer science. The student will investigate an area or problem and assimilate, integrate, and present the findings in a scholarly seminar. This course may be taken more than once with approval of the department. Prerequisite: At least one course successfully completed at the graduate level in Computer Science.

CPSC 574 Research Project I (3:3:0)
This course will provide practical experience in applying computing techniques and methodologies from a number of different areas and over an extended period time. The student will analyze, design, evaluate and apply new research findings or technological advances, develop a final product and present the work in a formal, oral presentation. Prerequisite: CPSC 570.

CPSC 575 Research Project II (3:3:0)
This course is a continuation of CPSC 574 - Research Project-I.

 

© 2009 East Stroudsburg University • 200 Prospect Street • East Stroudsburg, Pa 18301
Contact Admissions • Contact the Webmaster
570-422-3211

East Stroudsburg University
A Member of the Pennsylvania State System of Higher Education