Computer Science (CSC)
Bachelor of Science in Computer Science
120 credit hours are required to complete the Bachelor of Science degree program.
Students may enter into a Bachelor's degree program with a minimum of 30 credit hours and one year of credit for documented life/work experience. It is preferable for the student to have completed 60 credit hours before entering into a degree program with Washington College & University, as the University does not generally offer lower division courses.
Students who enroll with more than 120 units of acceptable transfer credit must complete a minimum of 30 credit hours of coursework through the University to earn a Bachelor's degree. Students are expected to fulfill general studies requirements through prior educational experiences and through life/work experiences equivalent to college level courses.
In the event an incoming student is lacking some of the general studies requirements, the Faculty Advisor and the student will work out a study plan that includes provisions for making up the deficiencies.
To obtain a Bachelor of Science degree at Washington College & University a student must have completed 60 units of General Studies courses distributed in the following subject areas:
- Basic Subjects: Oral and written language, Mathematics, Logic, Statistics or Computer Science. (8 credits)
- Humanities: Literature, Philosophy, Religion, Language or Arts. (8 credits)
- Social Sciences: Psychology, History, Sociology, Economics, Political Science, Anthropology, Women's Studies, Ethnic Studies. (8 credits)
- Natural Sciences: Environmental Studies, Geology, Geography, Physics, Chemistry, Biology, Zoology (8 credits)
- Electives: Additional courses from those listed above. 28 credits
Completion of the Bachelor's degree requires attainment of a grade point average of C (2.0) or higher.
Core Requirements
Students are required to complete a minimum of 24 credit hours from the upper division courses. (Course numbers 300-399)
Elective Courses
Students may choose to complete the remaining credit hours from the upper division courses. (Course numbers 400-499)
Computer Science (CSC)
Master of Science in Computer Science
30 credit hours of graduate level studies are required to complete a Master of Science degree program.
A Bachelor's degree or equivalent is necessary for entrance into the Master's program.
The Bachelor of Arts equivalency may be recognized if the student has the equivalent of four years of acceptable undergraduate college work through transcripts and extensive professional experience or more than four years of acceptable college work. A student may request credit for prior learning experience for up to 15 credits for post-baccalaureate work.
Students must complete a minimum of 15 credit hours of coursework through the University.
Completion of the Master's degree requires attainment of a grade point average of B (3.0) or higher.
Students are required to submit a thesis or portfolio of competence, which is acceptable to the University. Up to 6 credit hours may be given for the thesis or portfolio of competence.
Core Requirements
Students are required to complete a minimum of 12 credit hours from the upper division courses. (Course numbers 400-499)
Elective Courses
Students may choose to complete the remaining credit hours from the upper division courses. (Course numbers 500-690)
Computer Science (CSC)
Doctor of Philosophy in Computer Science
30 credit hours of graduate level studies are required to complete a Doctorate degree program.
A Master's degree or equivalent is necessary for entrance into the Doctorate program. Prior learning credit hours may be accepted for the doctorate program if they are acquired after the Bachelor's degree was obtained. A total of 60 units of acceptable graduate level credit hours are required for the Doctorate degree.
Students must complete a minimum of 16 credit hours of coursework through the University.
Completion of the Doctorate degree requires attainment of a grade point average of B (3.0) or higher.
Students are required to submit a dissertation or portfolio of competence, which is acceptable to the University. Up to 12 credit hours may be given for the dissertation or portfolio of competence.
Core Requirements
Students are required to complete a minimum of 16 credit hours from the upper division courses. (Course numbers 400-499)
Elective Courses
Students may choose to complete the remaining credit hours from the upper division courses. (Course numbers 500-690)
Dissertation Proposal
The student will prepare an original research proposal for approval by the Faculty Advisor. The proposal must be approved before data collection and the writing of the dissertation. In the proposal, the student is expected to indicate clearly and concisely what is proposed, where information is to be obtained, and how the research is to be carried out.
Dissertation
Candidates for the Ph.D. program must show ability for independent research and scholarly technique by means of a dissertation, the preparation of which will usually represent a substantial amount of research activity. The dissertation may also involve special projects, reviews of literature or applied fieldwork.
Description of Computer Science Courses (CSC)
CSC 300 Introduction to Computer Programming (3) Introduction to computer programming, no prior experience is assumed. Broad introduction to the engineering of computer applications, emphasizing software engineering principles: design, decomposition, information hiding, procedural abstraction, testing, and reusable software components. Using a high-level programming language, this course concentrates on the development of good programming style and on the understanding of the basic facilities provided by high level languages.
CSC 310 Programming Data Structures and Algorithms (3) Fundamental dynamic data structures, storage management, elementary principles of software engineering. Algorithms for searching and sorting. Intro duction to the C programming language.
CSC 320 Programming Languages and Compilers (3) A survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. An overview of current programming languages and applications.
CSC 340 Machine Structures (3) The internal organization and operation of digital computers. Machine architecture support for high-level languages, logic, arithmetic, instruction sequencing, and operating systems (I/O, interrupts, memory management, process management). Elements of computer logic design, tradeoffs involved in fundamental architectural design decisions.
CSC 350 Operating Systems (3) Basic concepts of multi-user operating systems (UNIX, Windows NT). Processes, inter process communication, and synchronization. Memory allocation, segmentation, paging. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy.
CSC 360 Productive Use of the UNIX Environment (3) File and directory organization and access. Built in tools used singly and in combinations; the shell command language (sh, csh, tcsh); environment customization; process management; maintenance of directories on networked computers.
CSC 370 Introduction to System Administration (3) An introduction to system administration including managing user accounts, backing up file systems, system integrity, and system security.
CSC 380 Introduction to System Performance And Analysis (3) Performance indices and evaluation techniques. Measurement: instrumentation, design of experiments, interpretation of results. Workload characterization. Tuning, procurement, and a capacity planning. File and I/O system optimization. CPU scheduling and architecture performance analysis.
CSC 390 Introduction to Database Systems (3) Object-oriented, entity relationship, and relational data models, relational and object-oriented database query languages are compared in the design and implementation of a database system. Database services including transactions, protection, integrity control, and security are considered.
CSC 400 Implementation of Database Systems (3) Implementation of database systems on current hardware systems and hardware requirements. Considerations for operating system design including buffering, page size, fetching, etc. Query processing algorithms, design of crash recovery and concurrent control systems. Implementation of distributed databases and database machines.
CSC 410 Introduction to Distributed Systems (3) Basic concepts of distributed systems. Network architecture and Internet routing. Message passing layers and remote procedure calls. Process migration. distributed file systems. Server design for reliability, availability, and scalability.
CSC 420 Computer Networks (3) Distributed systems, applications, organization and the network component. Network architectures including local networks, wide-area networks, inter networks. Network technologies, and topologies. Network and transportation protocols including TCP/IP. Routing and congestion control.
CSC 430 Social and Economic Implications of Computer Technology (3) An overview of the history of computing from Babbage today. Current issues such as competition, price setting, job displacement, security and privacy, computer crime, exporting of technology. Management of large system development projects, projection for future development of computer technology. Philosophical and ethical issues concerning expert systems and artificial intelligence.
CSC 440 Introduction to Human-Computer Interaction Design (3) An introduction to the concepts underlying the design of human-computer interaction: usability and affordances, systemic design methods, user conceptual models and interface metaphors, human cognitive and physical ergonomics, information and inter activity structures, design tools and environments. Case studies analyzed as illustrations of underlying principles.
CSC 450 Internet Technologies (3) A survey of contemporary Internet technologies. A programmer- oriented study of authoring, distributing, and browse technologies. The role, use, and implementation of current Internet tools. Topics to include TCP/IP: namespace, connections, and protocols, client/server structures, World Wide Web/HTTP/HTML techniques for text, images, links, and forms. Programming projects may include UNIX scripts, C, Perl, Java. Emphasis is on understanding, exploiting, and extending Internet technologies.
CSC 460 Introduction to Data Communications (3) The basic concepts of data communications, network design, and distributed information systems, equipment, protocols, architectures, and transmission alternatives.
CSC 470 Information Retrieval on the World Wide Web (3) Finding your way around Bookmarks, Search tools, Improved searching, Directories, Which engine? Evaluating a site Graphics Assessments, loading times and performance metrics.
CSC 500 Advanced UNIX Utilities and Shell Programming (4) Designed for experienced users, provides an in-depth look at awk, grep, and sed, while covering many other unix tools. Both the Bourne shell and the C shell will be covered as programming languages including the shell process, programming constructs, and debugging.
CSC 504 Programming in Java (4) Object oriented programming (classes, objects, messaging, inheritance), Java language features (interfaces, exceptions, packages, concurrency, garbage collection, use of the built-in packages (lang, util, io, networking, awt), understanding applications and applets, security and verification.
CSC 506 Principles of Software Engineering Using C (4) C programming language and UNIX/C programming environment. C programming language issues: data types, control structures, pointers, dynamic memory allocations, libraries, performance, bit operations, and the interface to the unix shell. Unix systems programming issues: file system processes, signals, interprocess communication, and C interfaces to these capabilities. Includes significant programming.
CSC 510 Introduction to Artificial Intelligence (4) Broad technical introduction to core concepts and techniques in artificial intelligence. Topics: search, planning, knowledge representation, managing uncertainty, machine learning, neural networks, vision, robotics, natural language understanding, and intelligent architectures.
CSC 514 Computer Applications in Medicine (4) A survey of the use of computers in the medical field, including a variety of research and applied environments and the factors that influence the acceptance of these applications. Topics: integration of computer systems in the medical center, hospital information systems, electronic medical records and networking, bibliographic search, applications to molecular biology, aids for disabled patients, image processing, computer-aided instruction, and decision support systems.
CSC 516 Application Development Technology (3) Provides skills, background and understanding to effectively participate in the coding and testing phase of the system development life cycle. Focuses on the use of data and procedural abstraction and the mechanisms provided in modern programming languages to support these, along with the development of environment tools that support industrial software development practices.
CSC 518 Project Management and the Application Life Cycle (3) The objectives of this course are to ensure the student: understanding of the Systems Life Cycle. Develop a professional appreciation for information systems familiarity of committee participation and structure appreciation of oral and visual presentations understanding the roles and tactics of a Systems Analyst customer sensitivity be current in information technology topics and news development of a professional sensitivity toward IS as a profession.
CSC 520 Parallel Computer Architectures (4) Principles and tradeoffs in design of parallel architectures. Emphasis on naming, latency, bandwidth, and synchronization in parallel machines. Architectural studies on techniques for programming parallel computers.
CSC 522 Web Authoring: Media and Multimedia Features (3) Appreciate and determine need for plug-ins to browsers, compare utility factor of media files to users' bandwidth issues, prepare media files for incorporation into web pages, use advanced HTML coding to control web page and site design, create web pages incorporating media files and advanced HTML coding
CSC 524 Web Authoring: Design and Software (3) Design web pages appropriate to the needs of their audience choose web compatible colors for web pages. Differentiate various form elements convert a graphic into a web compatible format create graphics buttons as navigational aids use tables to enhance web page layout upload the created web pages to a Home page
CSC 526 Information Technology in the Business Environment (3) This course examines the development and application of information technology (IT) resources in business organizations. The conceptual foundations of information technology are surveyed and advances in IT relevant to prevailing management practices are addressed. Contemporary systems development approaches are analyzed from a managerial perspective and the technological infrastructure of information systems is investigated. Issues in the integration of information technology in the social climate of business organizations are addressed from domestic and international perspectives.
CSC 528 Analytical Methods for Managerial Decisions (3) Computer familiarity: Basic knowledge of an operating system and of using PC and basic spreadsheet software Develops methods of structuring managerial problems for analysis and decision making. Emphasizes critical judgment and the use of technology as a decision and communication tool. Methods used include descriptive statistics, probability, decision theory, random sampling, estimation, hypothesis testing, and correlation and regression analysis as well as linear programming. These methods are developed using cases and problems typical of those facing decision-makers in the functional areas of business.
CSC 530 Client/Server Architectures (4) The design and application of client/server hardware architectures. Software application design considerations to take advantage of client/server architectures.
CSC 540 UNIX Security for System Administrators (4) Implementing file and directory permissions, setting default permission system wide, implementing password aging, enhancing the security level of set user id (suid) programs, setting up a restricted environment for users understanding the relationship between physical security and system security, and auditing system security.
CSC 550 Principles, Protocols, and Architectures of TCP/IP (4) Architectural components of the Internet and how the protocols interrelate to create a complete network architecture. The OSI seven layer model, IP network layer protocols, TCP/IP packet types, TCP and UDP transport protocols, unit tools that use the TCP/IP network: Telnet, FTP, tftp, rlogin, rsh, and rcp.
CSC 554 The Network File System & Network Information Service (4) An introduction to NFS, remote procedure calls, the operational mounting of NFS file systems. Setting up NIS servers, using NIS databases, creating and using NIS maps, installing and using the automounter, how unix system administration is changed with NFS and NIS, and debugging NFS and NIS problems.
CSC 560 Distributed Database Systems (4) The distribution of data and the difficulties encountered including the design of distributed database systems, the communication between them, execution of transactions, the distribution of data, the structure of distributed databases, distributed query processes, and commit protocols are compared to traditional database architectures.
CSC 562 Database Tuning & Performance (4) Tuning database management systems, operating systems and hardware. Evaluating performance criteria for choosing a database management system. Building performance into a user designed database management system.
CSC 570 Network Technologies and Architectures (4) A technical survey of local area networks, wide-area networks, their technologies, and protocols. The OSI Model, the physical and data link infrastructure of a LAN (wiring, backbones, data link protocols). Details on Ethernet, Token Ring and FDDI.
CSC 580 High-Speed Networks (4) A technical introduction to the most important high-speed networking technologies: FDDI, ISDN, Broadband ISDN/ATM, SONET, Frame Relay. Important technical details and business considerations for adopting each technology will be discussed.
CSC 582 Network Management Concepts (4) Principles of network management, network management techniques, standards, and applications including architectures, functions, protocols, knowledge-based network management, configuration management, fault management, accounting management, performance management, security management.
CSC 588 Network Security (4) Vulnerabilities, threats, and countermeasures inherent to computer networks. Security planning and administration, risk analysis, planning for disaster recovery. Communications security including network sniffing and Kerberos. System and file administration that control network access and security.
CS 600 Systems Analysis and Design (3) Introduces the systems life cycle and basic techniques for stating and analyzing information systems requirements. Determining systems economics and computer controls. Illustrates the iterative nature of the information systems analysis and design process. Introduces systems design, flowcharting, program structures and user interfaces. Hardware/software selection, evaluation, alternative system configurations, system implementation, conversion and post-implementation review are studied.
CSC 610 Computer Systems Architecture (3) Prerequisite: CS 601 or equivalent experience strongly recommended Introduces the fundamental concepts and terminology associated with computer hardware systems. Deals with system software that provides higher level capabilities as extensions of the hardware. Examines the management functions of operating system software and how the hardware and software provide an operating environment for the development of applications. Introduces the fundamental technology that underlies and facilitates data communication between computers.
CSC 620 Communication Networks I (3) This course gives students a foundation in the study of computer networks. Current methods, practices and issues in the use of computer networks to enable communications are covered. Also covered are the physical and architectural elements and information layers of a communication network. International standards, network architectures, communication protocols, data link, switching, routing and LANs are covered.
CSC 630 Information Storage and Retrieval (3) Explores the concepts, principles, issues and techniques for managing corporate data resources. The logical and physical structures of data are examined, along with the methods necessary to access the data. The course develops both skill and knowledge relative to data structures and data retrieval. SQL will be the vehicle for the data retrieval; the implementation accomplished using the Oracle multi-user DBMS.
CSC 640 Data Management (3) The architecture of current database systems is executed, beginning with the differences between database and file processing systems and continuing through object-oriented and client/server models. The course covers techniques for managing the design and development of large database systems, including creating and using logical data models, concurrent processing issues and database administration. The Oracle multi-user DBMS (SQL*Plus, SQL*Forms, SQL*Menus) support the class work.
CSC 650 Internship in Management Information Systems (3) Affords students the opportunity to enhance self-realization and direction by integrating classroom study with experience in vocational learning situations. Requires development of a study plan to identify the student's professional goals and to demonstrate how these goals can be furthered through an internship experience. Includes regular meetings in which students discuss issues and business problems related to their work experience, and defend proposed solutions before fellow students and the internship coordinator
CSC 652 Computer Security, Controls and Ethics (3) A survey of technological and organizational techniques to secure computer hardware, software and data. Controls for errors, natural disasters and conscientious attacks will be investigated regarding their effectiveness and cost. Implications from the legal and social environment are reviewed.
CSC 654 Advanced Design Methodologies (3) Explore state-of-the-art system design and system specification methodologies. Students will learn how to use the different structured methodologies to design and implement information systems, when to use a specific methodology, and how to introduce a new methodology within an existing environment.
CSC 656 Communication Networks II (3) Prerequisites: CS 631 (or CS 633) and CS 642 (or CS 645) Expands the fundamental knowledge gained in Communication Networks I. Reviews recent developments in computer networking within the framework of the International Standards Organization reference model.
CSC 658 Data Management II (3) Prerequisites: CS 631 (or CS 633) and CS 652 (or CS 657) Expands the basic knowledge gained in Data Management I by looking in depth at the design and evaluation of database systems. The course covers 1) techniques for managing the design and development of large database systems, 2) procedures for evaluating database software, and 3) methods for evaluating database system performance. Students also become familiar with the major database software being used in corporations.
CSC 660 Object-Oriented Modeling (3) Prerequisites: CS 631 (or CS 633) or instructor's permission Structured opportunity to explore new business applications of emerging hardware or software technologies. Active student participation in development and presentation of course materials required. This course introduces object orientation as a computing paradigm by exploring its role in modeling, analysis, design, programming, database and IS organization structure and process. The course presents the theory of object orientation, and introduction to object-oriented analysis, and an orientation and introduction to object-oriented software development using Smalltalk. The course is intended for managers and IS professionals who wish to begin specialization in object-oriented information system techniques.
CSC 662 Managing Systems Development (3) Prerequisite: CS 631 or AC 631 or equivalent and practical experience in software development Introduces students to managerial and technical practices employed by leading systems development organizations and the supporting theory. Topics include software process management frameworks, software process improvement practices, and measurement of process improvement, diffusion of software engineering technologies and the role of human factors in effective collaborative software development efforts.
CSC 664 Decision Support Systems (3) Course explores decision-making process, especially how decisions are made when data are imprecise or incomplete and when tasks may not be highly structured. The necessary computer tools are surveyed, including modeling, simulation and data management. Examines effects of organizational context on the decision- making process.
CSC 666 Electronic Commerce in the Global Economy (3) Motivated by access to new channels and lower operating costs, many firms are moving from traditional physical sales and service operations toward conducting their business electronically. This course explores the systems and management opportunities, challenges and strategies involved in successfully developing and maintaining electronic commerce. Issues covered include infrastructure design, server management, security, implementation, marketing and strategy. Students study current technology, complemented by class discussion of case studies of actual firms operating electronically.
CSC 668 Research Methods in CIS (4) This course exposes the student to the CIS research frameworks, and provides a structured environment for practicing the process of conducting research in the field of computer information systems.
CSC 670-679 Special Topics Professional Seminars (3 each) Prerequisite: Instructor's permission (other courses may be required for particular topics) Structured opportunity to explore new business applications of emerging hardware or software technologies. Active student participation in development and presentation of course materials required.
CSC 680 Information Technology Policy and Management (3) Develops an understanding of the issues and approaches in managing the information systems function in organizations. Takes a top management perspective in exploring the development and implementation of plans and policies to ensure effective information technology use. Deals with management issues that relate to 1) defining the IT infrastructure, 2) the systems that support the operational, administrative and strategic needs of the organization, and 3) the growth and support of end-user computing.
CSC 684 Information Systems Project (3) Formal opportunity to design and develop a realistic application incorporating features and techniques studied earlier. Projects need not be all encompassing of an application area and may use a team approach.
CSC 700 Thesis (3-6) Preparation of a major paper on a topic of interest in Computer Science. This course is designed to assist students engaged in meeting the thesis requirements for the master's degree. The candidate will work under the guidance of a faculty adviser.
CSC 800 Dissertation Research (3-12) This course is designed to assist students engaged in meeting the thesis requirements for the Doctoral degree. The candidate will work under the guidance of a faculty adviser.
|