Col. Myke Gluck
Department Head
P: 540-464-7494
E: gluckmh@vmi.edu 

Loretta Thompson
Executive Secretary
E: thompsonlf@vmi.edu

P:  (540) 464-7335
F:  (540) 464-7214

426 Mallory Hall
Virginia Military Institute
Lexington, VA  24450


Coursework for Computer and Information Sciences

100-level courses: First-year courses.

CIS 101. INTRODUCTION TO COMPUTER AND INFORMATION SCIENCES
3—0—3
This course is an introductory survey of the scope of computer and information sciences.
This course provides an exposure and a foundation from which cadets can appreciate the relevance and interrelationships of future courses. This course and the text follow a bottom-up arrangement of subjects from the concrete to the abstract. The course begins a discussion of techniques to analyze information needs. Next, we study basics of information encoding and computer architecture, and move on to the study of operating systems and computer networks. After that, we investigate the topics of algorithms, databases, programming, data structures, software development, human computer interaction, and computer graphics. We conclude with a brief overview of the history of information technology. Includes unit on ethics and professionalism in computer science.
Prerequisites: none.

CIS 111. PROGRAMMING I
2—2—3
An introduction to fundamental data types and programming concepts using a modern algorithmic language. Emphasis is on programming style, documentation, and implementation of standard elementary algorithms and data structures.
Co-requisite CI101.

CIS 112. PROGRAMMING II
3—0—3
Program design methods, encapsulation, program maintenance. Run-time behavior and efficiency. Real-time considerations and recovery techniques. Large-scale programming, group management, testing. Language ambiguities and insecurities, subset and superset languages. Prerequisite: C or better in both CIS111 and CIS101

200-level courses:

CIS 250WX. HISTORY OF INFORMATION TECHNOLOGY
3—0—3
Civilization and Cultures course with e-portfolio and reflective essay requirements that allow cadets to explore the science, engineering and origins of information technology and its effects on societies over millennia. Driven by documentary videos, web-based multimedia and small group/full class discussions cadets will be exposed to developments and societal impacts of information technology from early Middle Eastern Civilizations’ oral traditions and writing forms to the invention of the 15th century printing press to 19th century railroads, telegraph and telephone to 21st century 3D television, blogs, social networks, and the twenty four hour news cycle.
Prerequisite cis101

CIS 253. INFORMATION SYSTEMS AND SERVICES
3—0—3
Information systems are an integral part of all business activities and careers. This course is designed to introduce students to contemporary information systems and demonstrate how these systems are used throughout global organizations. The focus of this course will be on the key components of information systems - people, software, hardware, data, and communication technologies, and how these components can be integrated and managed
to create competitive advantage. Through the knowledge of how IS provides a competitive advantage students will gain an understanding of how information is used in organizations and how IT enables improvement in quality, speed, and agility. This course also provides an introduction to systems and development concepts, technology acquisition, and various types of application software that have become prevalent or are emerging in modern organizations and society

300-level courses:

CIS 310. Programming languages
3—0—3
An introduction to programming concepts and fundamental data types in one or more programming languages. Choice of language(s) varies with current software development trends.
Prerequisite: CIS101

CIS 311. WEB APPLICATION DEVELOPMENT
3—0—3
A survey of contemporary software tools, languages and techniques for Web application development. Software design, interface design, and use of current technologies in developing client-side and server-side web applications. Technologies include HTML and XHTML, CSS, Development using widely-used scripting languages such as JavaScript and Perl, and XML / XSL.
Prerequisite: C or better in CiS112.

CIS 321. Networking Computing
3—2—4
An intermediate level course discussing the background and history of networking and the Internet, network standards, OSI 7-layer model, TCP/IP, web technologies, and network security. Prerequisite: C or better in CIS 112

CIS 330. Programing in Languages
3—0—3
A follow-on course to the CIS 111-112 sequence. Practice and projects in coding appropriate problems in various programming languages. Desktop/laptop as well as mobile device projects and various Language exposure varies with modern trends.

CIS 331. HUMAN COMPUTER INTERACTION
3—0—3
An introduction to theories and methods for developing and analyzing human-computer interactions. Students will be introduced to the use of graphic, audio, and haptic tools for design and implementation of computer interfaces. The course philosophy is user-centered design. Emphasis is on cognitive factors including information load and learning imposed on users, and modeling user behavior. Application of techniques to both web-based and more traditional user interfaces by implementing a prototype team project. Prerequisites: C or better in CIS 112.

CIS 341. Database management Systems and Information Retrieval 3—0—3
Introduces database management systems with emphasis on the relational model. Database system architecture, storage structures, access methods, relational model theory, security and integrity, locking, query optimization, and database and retrieval systems design and includes team project experience with a SQL-type relational system. Prerequisite: C or better in CIS112 or equivalent.

CIS 351. Software Engineering
3—0—3
The software development process and life cycle: design and implementation, documentation and maintenance, verification and validation, CASE tools, and project management. Social and ethical issues faced by the computing professional. Course includes a collaborative team project with oral and written presentations. Prerequisite: C or better in CIS112.

CIS 353. Systems Administration
3—0—3
Students experience a hands-on approach to system and network administration. General network and system administration is explored using two or more different operating systems. Topics covered include system configuration, network planning, routine system maintenance, firewalls and security, Internet connectivity, system optimization, troubleshooting, and scripting languages. Includes coverage of Unix and Windows file systems, identify, control and schedule processes, manage user accounts, installation and troubleshooting hardware devices and configuration of system software.
Prerequisite CIS321 Network Computing

CIS 355. Information Organization and Management
3—0—3
This course introduces students to the theory, principles, standards, and methods of information organization. Through lectures, discussions and hands-on practice students learn to provide intellectual and physical access to information objects. Topics covered include information architecture, user information needs and behaviors, tools for information access, principles of information representation, metadata schemas, controlled vocabulary, classification, taxonomy, encoding standards, bibliographic networks, rights management and associated legal infrastructures for privacy protection, applications of technologies in information organization, and design of information systems to facilitate access and retrieval.

CIS 390. RESEARCH PRACTICUM PREPERATION IN COMPUTER AND INFORMATION SCIENCES
3—0—3
An undergraduate preparation for research experience in CIS under the tutelage of a member of the CIS faculty. Projects are agreed to by cadet and faculty member and culminate with an oral presentation and /paper as determined by the faculty member. This course provides an introduction to CIS research techniques and provides an opportunity to begin the basic review of materials needed to complete the CIS490 capstone experience. Prerequisite: 20 credit hours in the major and Second Class standing.

400-level courses:

CIS 411. Advanced Web Design
3—0—3
Continues the web development procedures introduced in CIS311. Projects emphasize in depth use of contemporary software tools, languages and techniques for Web application development. Software design, interface design, and use of current technologies in developing client-side and server-side as well as Peer-to-peer web applications.
Prerequisite: CIS311 Web Application development

CIS 413. Mobile Computing
3—0—3
Continues the web development procedures introduced in CIS311. Projects emphasize in depth use of contemporary software tools, languages and techniques for mobile application development and mobile operating systems. Software design, interface design, and use of current technologies in developing mobile apps.
Prerequisite: CIS311 Web Application development

CIS 423. Information and Cybersecurity
3—0—3
Study of the underlying mathematics of cryptography for network security, authentication and user identification throughout the TCP/IP layers. Review of malware structures and code, and investigation of computer laboratory security setups and computer espionage tactics as well as review of the range of products available for protecting and detecting network intrusions. Mobile system security also investigated. Work in teams to establish closed networks to investigate network attack and defend hands-on techniques.
Prerequisite: CIS321 Network Computing

CIS 425. Computer Forensics
3—0—3
Course introduces the discovery, preservation, and recovery of digital information from electronic devices for executing computer forensics tasks. Included are the hardware, software, technical tools, and legal issues involved with collecting digital data from standalone as well as networked machines used to protect systems, for courtroom evidence presentation, and in crime fighting and anti-terrorist activities. Course discusses basic computer crime legislation and agencies with laboratory exercises emphasizing training for practical use of appropriate software and hardware.
Prerequisite: CIS321 Network Computing

CIS 433. Usability Analysis
3—0—3 This course covers the conceptual frameworks and applied methodologies for user-centered design and user experience research. Emphasis is placed on learning and practicing a variety of usability research methods/techniques such as scenario development, user profiling, tasks analysis, contextual inquiry, card sorting, usability tests, log data analysis, expert inspection and heuristic evaluation. Rather than a Web or interface design course, this is a research and evaluation course on usability and user experience with the assumption that the results of user and usability research would feed directly into various stages of the interface design cycle. Assignments include usability methods plan, user persona development, scenario and task modeling, card sorting, usability testing project, with talk-along protocols, sense-making scenario creation, and video analysis for product improvement. Prerequisite CIS331

CIS 426. Advanced Network and Information Security
3—0—3 Continuation of CIS423 with emphasis on current attack and defense strategies for systems and the legal framework implemented and proposed for criminalization of system intrusions worldwide and rights management. Prerequisite CIS423

CIS 441. Data Analysis and Data Mining
3—0—3 Data that has relevance for managerial decisions is accumulating at an incredible rate due to a host of technological advances. Electronic data capture has become inexpensive and ubiquitous as a by-product of innovations such as the internet, e-commerce, electronic banking, point-of-sale devices, bar-code readers, and intelligent machines. Such data is often stored in data warehouses and data marts specifically intended for management decision support. Data mining is a rapidly growing field that is concerned with developing techniques to assist managers to make intelligent use of these repositories. A number of successful applications have been reported in areas such as credit rating, fraud detection, database marketing, customer relationship management, and stock market investments. The field of data mining has evolved from the disciplines of statistics and artificial intelligence. This course will examine methods that have emerged from both fields and proven to be of value in recognizing patterns and making predictions from an applications perspective. We will survey applications and provide an opportunity for hands-on experimentation with algorithms for data mining using easy-to- use software and cases.
Prerequisite; C or better in CIS 341 and completion with C or better in the mathematical statistics required courses

CIS 443. Information Retrieval
3—0—3
This course will cover traditional material, as well as recent advances in Information Retrieval (IR), the study of indexing, processing, and querying textual data. Basic retrieval models, algorithms, and IR system implementations will be covered. The course will also address more advanced topics in "intelligent" IR, including Natural Language Processing techniques, and "smart" Web agents.
Prerequisite CIS341 and pre/co-requisite CIS355

CIS 460-469. INDEPENDENT STUDY (3-0-3)
Working with a professor, students pursue independent reading, research, and/or technical projects that build on previous coursework in the major.

CIS 490. RESEARCH PRACTICUM IN COMPUTER AND INFORMATION SCIENCES
3—0—3
An undergraduate research experience in CIS under the tutelage of a member of the CIS faculty. Projects are agreed to by cadet and faculty member and culminate with an oral presentation and paper as determined by the faculty member. The paper will normally include a state-of-the-art review of a theoretical or applied problem and an implementation, modification, or enhancement to our current knowledge. Prerequisite: CIS390 AND 30 credit hours in CIS coursework or First Class standing.