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.
www.esu.edu Programs and Course Descriptions | Computer Science, M.S. 57
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 undertaken to 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 543 Mobile Computing (3:3:0)
This course provides students with an introduction to the state of art in mobile computing. Topics will include the
fundamentals of mobile computing: architecture and devices, operating systems, wireless networks, algorithms and
protocols, location-aware and context-aware services, etc. The students are expected to design, develop, implement and evaluate mobile computing applications.
CPSC 544 Real Time 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 546 Embedded Systems (3:3:0)
This course provides students with an introduction to contemporary aspects of embedded-system hardware and software. Topics will include the fundamentals of embedded systems: hardware and software architectures, design methodologies and tools, communication algorithms and protocols. The students are exposed to case-studies of various embedded applications: vehicle networks, space system, networked sensors, personal computing devices and home appliances, etc.
CPSC 547 Distributed Object Programming (3:3:0)
This course is 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 investigation of the topics covered in the course.
CPSC 548 Applied Network Security (3:2:2)
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 each device 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 theoretical terms 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 251 and 325, MATH 220.
CPSC 561 Legal Impacts of Computer Security Solutions (3:3:0) This online course in computer security focuses on the ethical and legal rationale behind the technical solutions studied in CPIS 511. Criminal, civil, regulatory and intellectual property law will be discussed in the context of professional computer environments. Federal and State computer security statutes will guide discussions. Student reports and presentations will reinforce the subject matter. This course may not be used as an elective by Computer Science Master's candidates. Co-requisite: CPIS 511. Prerequisite: Permission of the Information Security Graduate Coordinator.
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 insolvability 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 P Research Project-I. CPSC 577 Independent Study in Computer Science (Semester hours arranged)
Under the auspices of a qualified member of the faculty, the student pursues study and research related to professional knowledge and understanding in Computer Science. Topics must be established before enrollment. Prerequisites: Permission of the faculty member and the department.
www.esu.edu Programs and Course Descriptions | Elementary Education, M.Ed. 59
College of Education
Department of Early Childhood & Elementary Education Stroud Hall 209
570-422-3356
www.esu.edu/gradeled
Faculty
Graduate Coordinator:
Paula Kelberman, Ed.D., [email protected]
Professors:
Susan Harlan, Ph.D., [email protected] Paula Kelberman, Ed.D., [email protected] Patricia Pinciotti, Ed.D., [email protected] Craig Wilson, Ph.D., [email protected]
Associate Professors:
Alberto Allegre, Ph.D., [email protected] Nurun Begum, Ed.D., [email protected] Margaret Benson, Ph.D., [email protected]
Andrew Whitehead, Ed.D, chair, [email protected]