Courses

Course offerings reflect the 2019-2020 Elmhurst College Catalog. One unit of credit equals four semester hours.

Computer Game and Entertainment Technology Courses | Computer Science Courses | Information Systems Courses

Computer Game and Entertainment Technology Courses

This course introduces students to the step-by-step process of making a short narrative film. Students will learn how to turn their ideas into a short screenplay. They will take that screenplay and make a practical production plan around it. They will learn shooting strategies and techniques. Finally, they will learn the basics of editing and assemble their rough elements into a final cut. The course will conclude with a screening of all of the students’ short films.

This course will introduce students to the basic tools and techniques used in 3D production, using an industry standard software package, such as Maya. Students will be taken on an in-depth tour of the workspace, including navigation and customization. The course will lead students through all aspects of the production pipeline, including object creation and modeling basics, surface mapping techniques, texturing and shading, character rigging, animation, and lastly lighting and rendering.

Prerequisite(s): ART 113  or CS 220.

This course will introduce students to design principles, as well as the skills and techniques required to create game mechanics, documentation, and functional prototypes for innovative video game projects.  Students will learn about industry standard tools and resources including game engines, programming and scripting, and asset creation.  It will emphasize design skills such as design documentation, systems design, level design, game balancing, play-testing, interactive storytelling, and user experience design.  Students will learn about the study of gameplay, player interaction, and community dynamics as well as the unique features of various video game genres and platforms; such as PC, console, and mobile games.

Prerequisite(s): Sophomore Status. 

This course introduces the student to principles applied to animate computer-generated objects on a computer screen. Both 2-D and 3-D animation techniques are discussed, together with topics including the physics of animated systems, systems of particles, inverse kinematics, framing, interpolation and hierarchies. Also considered is the application of animation to the simulation and modeling of physical systems.

Prerequisite(s): CS 255.

In this course, students apply concepts learned in previous classes, such as animation and simulation techniques, three-dimensional graphics, and the incorporation of media components such as video, music and sound in a highly interactive game. Students also learn to develop story lines, scripting techniques, aspects of game theory, and how to infuse their games with simulated cognition and artificial intelligence.

Prerequisite(s): CGE 303.

Features of graphics programs are considered, including two- and three-dimensional coordinate systems, transformations, perspectives, hidden-line algorithms and polygon filling (graphics), and boundary recognition, template matching, surface and edge enhancement (image processing).

Prerequisite(s): CS 220 and MTH 132. 

This is the capstone course for the student majoring in computer game and entertainment technology. The student in this course applies all of the concepts and skills learned in previous CGE courses to produce a significant project. This activity will preferably be performed at a company as part of a project development for that company.

Prerequisite(s): CGE major with senior standing or consent of the instructor.

.50 credit

This course gives Honors Program students the opportunity to design and implement a significant research project in the field of computer game and entertainment technology, culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance.

Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration. Prerequisite(s): No prerequisite.

Computer Science Courses

This course covers basic concepts in computer science and digital technology. These include, but are not limited to, computer systems, communication devices, digital media in audio and video, and various forms of “hand-held” devices. The use of spreadsheets, databases, word processing, presentation software and electronic communication is also covered.

Prerequisite(s): No prerequisite.

.50 credit

Core topics include Linux shell commands, shell scripts and related file systems. Several related topics such as file permission, process handling, sysadmin tools and the access of Linux resources via application programs.

Prerequisite(s): CS 220 or one course covering a high-level programming language.

This course introduces students to algorithms, object-oriented programming and related computer science topics. Primitive and user-defined data types, fundamental control structures, and the use of an integrated development environment of a programming language are studied through programming assignments. Debugging and testing techniques are introduced. An introduction to several computer science concepts, including an introduction to machine representations of data, computer system and processor architectures and related operation, file systems and operating systems. This course is for CS, CGE and IS majors, but is recommended for students in any major who seek to enhance their skill set with knowledge of a programming language.

Prerequisite(s): No prerequisite.

Introduction to object-oriented programming and data structures. Emphasis on string processing, recursive procedures, sorting and searching and debugging techniques. Introduction to data structures, including stacks, queues, trees, linked lists, strings, and algorithmic design and analysis.

Prerequisite(s): CS 220.

Mathematical properties and applications of tree structures and graph theory are studied along with related algorithms. Fundamental concepts of discrete probability, including the binomial distribution and Bayes’ theorem, are presented and used in the context of introductory analysis of algorithms. Computational linear algebra techniques and matrix operations are expressed algorithmically. Computations and algorithms for all topics in this course are implemented with an interpreted translator system, such as Python, Matlab, Octave or ML.

Prerequisite: MTH 301.

An in-depth study of computer hardware, from the logic gate level up through registers, and CPU devices. Students examine primary and secondary memory and input/output, interrupts and multiprocessor systems. The course also covers programming hardware using an assembler language is also studied, and assembler features such as interrupts, internal and external subroutines, conditional assembly, real-time programming and the macro language.

Prerequisite(s): CS 220.

Students are introduced to the ethical and social issues directly or indirectly related to the use of digital technology and media. The impact and relationship of digital technology regarding the legislative, judicial, and execution of not only U.S. laws but international legal systems are also studied. using ethical philosophies students develop their critical thinking skills by providing clear arguments that support their opinion(s) or proposed solution(s) to problems related to conflicting interests listed in – but not limited to – the topics that include: intellectual property and distribution of information; privacy and security issues; free– speech on the global Internet versus local morality and political systems and computer reliability and safety laws. Also covered are legal sanction for computer crimes; and workplaces changes, automation, globalization. Ethical philosophies of Jean-Jacques Rousseau, John Locke, John Stuart Mill, Immanuel Kant, Jeremy Bentham, and John Rawls, are used as a structure for evaluating ethical and moral decisions surrounding problems associated with these topics. The primary ethical philosophies used to evaluate case studies include Act Utilitarianism, Rule Utilitarianism, Kantianism, and Social Contract.

Prerequisite(s): Sophomore standing or higher.

This course will introduce students to the concepts of designing and developing a Web site using the Web Content Management System (CMS) WordPress. Students will learn the structure of HTML5 documents, good markup techniques, and the concept of validation. It will identify issues specific to Web-based presentations, page layout, effective navigation, and delve into the design process.  Students will learn about using graphics, color, and fonts on Web pages as well as working with tables and CSS. Site management techniques are covered including accessibility issues, and working with domains and clients are also discussed.

Prerequisite(s): Sophomore standing or higher.

Object-oriented concepts are studied, including object as class instantiation, class design techniques and taxonomies, design patterns, single- and multiinheritance, abstract classes, interfaces, contract programming and exceptions. C++ syntax, semantics and object-oriented design implementations are studied. C++ concepts and implementation of object-oriented design concepts include constructors, destructors, copy constructors, and assignment operators, operator/function overloading, scoping rules, static vs. dynamic bindings, templates, functors and exception handling. Libraries, such as STL, are studied and utilized within projects. Integrated development environment tools for debugging, documenting, testing and configuring software systems are introduced. C++ implementation techniques for implementing concepts such as event-driven, GUI, and multi-threads; library and related frameworks for these concepts are also introduced.

Prerequisite(s): CS 255.

Algorithm design and asymptotic analysis of algorithms using sequential and parallel computational models are central to this course. Object-oriented programming language implementation of algorithms and related data structures are studied; data types and class representations studied include strings, stacks, queues, priority queues, lists, sets, multi- sets, maps, multi-maps, hash-tables and graphs. Algorithm design techniques include greedy, divideand- conquer, backtracking, dynamic programming and approximation. Mathematical models and techniques representing the best, worst and average case analysis of covered algorithms. Computational P, NP and NP-complete problem classes are introduced.

Prerequisite(s): CS 318 and CS/MTH 302 or concurrent enrollment in either course.

This course introduces the theory of computer network and various types of networks, including local area, wide area and global networks. Theory topics include network architecture, data transmission techniques, network topologies, network media and network security. Students learn programming projects that utilize various widely used system platforms and communication protocol apply concepts.

Prerequisite(s): CS 220.

Examines the technology and methodology for protecting information to ensure its integrity, confidentiality and authenticity. It covers the foundations of cryptography, modern cryptographic protocols, algorithms and implementation issues. Also included are topics in private and public key cryptography, block ciphers, pseudorandom functions, encryption standards, message authentication, digital signatures and key management.

Prerequisite(s): No prerequisite.

Explores the threats and risks prevalent in today’s organizations as a result of the pervasive use of technology. Students learn risk evaluation techniques and identify security and control techniques to minimize the potential of a security breach.

Prerequisite(s): No prerequisite.

Explores the use of intrusion detection methodologies, CSI hardware and software tools, and approaches to computer crime incident response. Computer forensic principles, including operating system concepts, registry structures, file system concepts, boot process and file operations are examined. This course also includes an overview of the theory and techniques utilized for tracking attackers across the Internet. Practical exercises are drawn from case studies of Internet-based crimes.

Prerequisite(s): No prerequisite.

The ongoing need for fast, versatile and more powerful communication systems has accelerated the growth of wireless, mobile and cloud computing. In many cases, securing these emerging platforms is an afterthought, thus leaving critical systems prey to invidious cyber-attacks. This course examines a broad range of contemporary techniques to support and maintain operational integrity and data protection within each modality.

Prerequisite(s): No prerequisite.

An introduction to fundamentals of artificial intelligence, including problemsolving techniques, search strategies and heuristics, planning, machine learning and knowledge representation. First order logic, normal forms, unification and resolution principles are introduced with applications to problem solving, theorem proving, logic and database theory.

Prerequisite(s): CS 318 or concurrent enrollment.

Java syntax and semantics and implementation pragmatics for expressing object-oriented design patterns. Java implementation strategies for webbased applications using event-driven programming, concurrent threads, file I/O and database applications are studied. Documentation and debugging tools are introduced through various Integrated Development environments.

Prerequisite(s): CS 318 or CS 320 or consent of the instructor.

Concepts include tasks and process representations, process coordination and synchronization, concurrent constructs in programming languages, process and job scheduling, performance and monitoring mathematical tools, virtual and physical memory management schemes, file management organization, device management, issues in real-time and distributed operating systems, security issues, and communications and networks.

Prerequisite(s): CS 310 and CS 360. It is highly recommended, although not required, that the student also take CS 205 before taking CS 420.

A comparative study of programming languages from perspectives of the designer, implementer and user is central to this course. Regular grammars, regular expressions, finite state automata, context free grammars, and pushdown automata are studied in the context of building programming language translators. Imperative, object-oriented, functional and logic language classes are studied. Concepts covered include data and control abstractions, strong and weak typing, static and dynamic scoping, parameter passing and concurrency. Formal specifications and implementation strategies of the concepts are studied.

Prerequisite(s): CS 310 and MTH 301.

This course covers ways to create dynamic web applications using both server side and client side programming. In this course students will learn web application basics, ASP.NET application fundamentals, validation, basic forms authentication for web-based security, databinding from a datasource, creating and consuming web services, session state configuration and application data caching.

Prerequisite(s): CS 255 or IS 224. 

A presentation of formal models of computation via turing machines, random access machines and partial recursive functions. Other topics are Godel’s numbering, Church’s thesis, unsolvability, context free grammars and computational complexity.

Prerequisite(s): MTH 301. Upon request.

.50 or 1.00 credit

Students earn credit for computer-related activities performed at participating company or corporation sites. Normally, only full-time day students are eligible for this course.

Prerequisite(s): consent of the department chair.

An introduction to professional development, testing, and maintenance of large-scale software systems where several stakeholders, software modules, versions, configurations, and/or years are involved. This course satisfies the capstone requirement and requires working on a team project. Several concepts and practices used in many software processes are introduced: feasibility, requirements, project management, project planning, analysis, design, validation, verification, testing, documentation, maintenance, configuration management, performance evaluation, software tool usage, software reusability, cost models, and deployment. The importance of security and testing are emphasized in all aspects of software development. Project processes and operational practices, such as waterfall, agile, and DevOps, are introduced, compared, and then followed, as appropriate, in capstone projects.  Examples of projects include, but are not limited to the following general software applications or systems: an e-commerce site, information system, mobile app, embedded system, and/or real-time application.

Prerequisite(s): CS major with senior standing or consent of the instructor.

.50 or 1.00 credit

Prerequisite(s): No prerequisite.

.50 credit

This course gives Honors Program students the opportunity to design and implement a significant research project in the field of computer science, culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance.

Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration. Prerequisite(s): No prerequisite.

Information Systems Courses

This course introduces Visual C# programming language. The student will write programs in Visual C# that demonstrate the features of the C#  language, including control structures, input/output operations and use of library functions such as those that are used to implement graphical user interfaces and to access databases. This course is recommended not only for IS and CS majors, but also for students majoring in business, the natural sciences, mathematics and other disciplines in which programming a personal computer is required.

Prerequisite(s): CS 220.

.50 credit

This online course is designed to provide students with an in-depth understanding of one programming language that is in demand in the marketplace. Languages chosen vary by semester and include both legacy programming languages that are still in high demand and evolving programming languages that are beginning to see industry demand. This course may be repeated for credit with instructor or academic advisor approval.

Prerequisite(s): Two programming language courses, which may or may not cover different languages. (Any two equivalent courses from the following set: CS 220, CS 255, IS 224, CS 440, IT 232 or IT 422.)

Decision making and problem solving utilizing the various quantitative models commonly used to improve and enhance business intelligence within an organization. Such models to include inventory theory, exponential smoothing, artificial neural networks, waiting line models and stochastic processes. Practical applications of artificial intelligence and a discussion of data mining techniques are included.

Prerequisite(s): MTH 126, MTH 151.

Topics include defining data requirements and modeling those requirements using Entity Relationship Diagrams, creating physical databases using Microsoft SQL Server, and SQL coding for simple queries, complex queries, stored procedures and triggers. Additional topics include data quality, data warehouses, data security and distributed databases.

Prerequisite(s): CS 220.

A study of the phases of analysis, design and implementation of information systems. Topics include fact-gathering techniques, design of output, input, files, presentation techniques, system processing, project management, system testing and documentation. A structured approach to system design and development is emphasized.

Fundamentals of information systems in organizations, with a focus on the impact of information systems on organizational behavior, communications and managerial style. The use, misuse and management of computer-based systems and their integration with organizational goals are emphasized. Information systems in the functional areas of marketing, production and finance are studied. The case study method is used.

Prerequisite(s): CS 220 or IT 228.

.50 credit

This course gives Honors Program students the opportunity to design and implement a significant research project in the field of information systems, culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance.

Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration. Prerequisite(s): No prerequisite.

Connect with #ElmhurstCollege