Computer Science – Albright College

Computer Science

Computer software change quickly. Be ready for the future by studying the principles that future computer programs will be built upon.

Prepare for apprentice-level positions or graduate study in system software design, development, implementation and maintenance by studying Computer Science at Albright College.

Albright’s computer science curriculum is modeled on recommendations by the Association for Computing Machinery — the world’s oldest and largest educational and scientific computing society.

Want more? Explore our new interdisciplinary degree in CyberCriminology (sociology-computer science).


Mark Baldridge, MFA
Assistant Professor, Art and Computer Science


Brian A. Kell
Instructor of Computer Science


David Kaul
Assistant Professor


Mike D'Errico, Ph.D.
Assistant Professor of Music & Computer Science | Director of Music Technology & Composition | Music Department Chair

Combined Major in Computer Science

• CSC 141, 142
• CSC 213
• CSC 305, 306
• One 400-level course
• One elective course from the elective courses listed above
• The related mathematics courses are recommended but are not required.


CSC 119
Introduction to Programming
This course includes elements of programming in C, C++, JAVA or some other high-level language; practical experience solving problems; coding and executing programs. It does not fulfill the computer science concentration requirements.
Prerequisite: permission required for non-computer science majors

CSC 141
Foundations of Computer Science I
This is an introduction to problem-solving methods and algorithm development using object-oriented methodology and JAVA. The objective is to teach how to design, code, debug and document programs using techniques of good programming style. Three hours lecture and three hours laboratory per week.

CSC 142
Foundations of Computer Science II
This course continues the development of discipline in program design, style and expression. It focuses on debugging and testing; and introduces algorithmic analysis and basic aspects of recursion and simple data structures. Three hours lecture and three hours laboratory per week.
Prerequisite: Successful completion of CSC 141 or permission of the department

CSC 213
Assembly Language and Computer Organization
This course provides basic concepts of computer systems; introduces computer architecture; teaches an assembly language; and introduces the organization and structuring of the major hardware components of computers. Three hours lecture and three hours laboratory per week.
Prerequisite: CSC 141

CSC 305
Data Structures and Algorithms
Analysis of data structures and algorithms for their manipulation are studied, along with comparative efficiency of searching and sorting algorithms. The course applies analysis and design techniques to non-numeric algorithms, which act on data structures. Topics include lists, stacks, queues, recursion, searching and sorting, binary trees, and graphs.
Prerequisite: CSC 142

CSC 306
Operating Systems
Topics in this course include: structure and implementation of multiprogrammed and time-shared computer systems; sequential, interacting and sharing processes; memory management; synchronization; protection; virtual memory; monitors; kernels; and networks of operating systems modules.
Prerequisites: CSC 213 and CSC 305

CSC 307
Software Engineering
This course examines axiomatic bases of program and system design. Students gain laboratory experience designing systems software and are introduced to state-of-the-art software for designing structured systems. Three hours lecture and three hours laboratory per week.
Prerequisite: CSC 305 or permission of the department

CSC 311
Gaming Physics & Mathematics
The objective of this course is to present applications of mathematics and physics in game and simulation programming. The course includes utilization of matrix and vector operations, along with Newtonian principles in games and simulations. Starting with an overview of the rendering pipeline in OpenGL, the student will study vectors, matrices, linear transformations, and geometry for 3D engines. The course will dovetail into a more complete understanding of linear algebra topics that will be covered in the CSC372 Computer Graphics course.
Prerequisite: CSC 305 or permission of the department

CSC 372
Computer Graphics
This course is designed to provide those principles which will enable the student to design, use and understand graphics systems. It is assumed that the student has no prior background in computer graphics, but is familiar with fundamental mathematical concepts which will be necessary for the development of this course. Students should have coding experience in either C, C++, or Java. Topics will include: line drawing algorithms, menus and panel constructions, polygons, two-dimensional transformations, windowing and clipping, three-dimensioning, and, possibly, texture mapping. Prerequisite: CSC 305

CSC 382
Computer Science Internship
Students will apply computer science theory in a business, institution or government agency under the supervision of an on-site staff member and a faculty sponsor. Reports and computer science projects are required. This course does not fulfill CSC concentration requirements. Students must obtain sponsorship and apply to the computer science faculty no later than the first day of the last month of the semester preceding the expected internship. Quality/Nonquality only.
Prerequisite: Permission of computer science faculty

CSC 385
Handheld Wireless Technology
This course introduces the underlying concepts of wireless technology and its particular use with handheld devices. Operating system principles are discussed in relation to the environment of the Palm PDA. Coding and application development are essential components of this course. Students work in the C and JAVA programming environments and learn how to interface Palm devices with Unix and Windows platforms.

CSC 391
Advanced Topics in Computer Science
A different topic is presented each semester. These topics include mobile programming, object-oriented methodologies, expert systems, artificial intelligence, advanced graphics concepts, database management, wireless research, algorithm analysis. It is designed to provide the serious student with a challenging course on a topic that might not usually be developed at the elementary or intermediate levels. The instructor provides a syllabus discussing the topics to be covered in the semester prior to the actual offering of the course. Prerequisite: Changes based on topic

CSC 491
The seminar includes assigned readings, projects and lectures in areas of special interest. These areas include: client/server (networking for games), artifical intelligence, automata theory, computability, formal languages, compiler writing, image processing and advanced UNIX concepts. Material in these courses should be current and topical. The seminars present a strong challenge to the student. May be repeated with new topic. Prerequisite: Changes based on topic

Digital Media Courses

ART 265
Computer Graphics Art and Design
Computer Graphics is a combined studio/lecture course providing instruction in the use of industry-standard digital media tools. Students learn from the perspective of an artist and designer the essentials of digital still image creation, graphic design and digital animation. This course not only provides students with a strong technical foundation, but it also introduces students to the concepts intrinsic to art and design in the digital age.

DIG 201
Digital Video

This hands-on course introduces students to the concepts and technological knowledge that support the fields of digital video, script writing, lighting and non-linear editing. Students work individually and in groups on a series of short video productions using Premiere Pro, an industry standard editing and special effects software package. Cinematic history, aesthetic philosophy and key applications are taught through class demonstrations, exercises and lectures. Digital skills and a personal vocabulary are developed further through class critiques and individual instruction. Prerequisite: ART 265

DIG 230
3D Animation and Special Effects

This studio provides instruction in the use of industry-standard digital animation, special effects and conceptualization applications. Students learn from the perspective of a digital media designer/producer/director the essentials of creating virtual environments, characters and special effects. Emphasis is placed on the foundations of modeling and animating in the 3D virtual environment, preparing each designer to tackle more advanced modeling and animation methods known by professional artists. In conjunction with becoming familiar with the foundations of Maya, students develop the critical skills necessary to accurately assess the impact that digital tools have on the ways in which visual messages communicate, influence and inform our cultural and intellectual contemporary landscape. Prerequisite: ART 265

DIG 250
Sound Design for Visual Media
This class will examine the creation and application of music and sound design as used in contemporary games, video, and other digital media. A focus will be placed on the relationship of audio to user experience and as a method of feedback in traditional and non-traditional gaming systems. The student will learn how to mix and synchronize soundtrack elements to video. Both the development process and consideration of final product will be explored. Prerequisite: ART 265

DIG 265
Digital Literacy

This course introduces students to the concepts and technological news driving digital media. Students investigate the new aesthetic tradition inherent in digital culture, gaming, instant messaging, artificial intelligence, computer graphics, digital design and the Internet. Digital history, aesthetic philosophy, and key applications are examined through class lecture and studio projects. Students are expected to consider these concerns while formulating their work. In-class critiques and individual instruction are used to refine student work. Prerequisite: ART 265

DIG 270
Digital Illustration and Design

This course will cover the use of art and design as creative tools in mass communications and art media. Through creative design projects and discussions/critiques, students will create raster and vector imagery to populate original print-ready designs. Upon completion of the course students will have technical skills (Adobe Photoshop, InDesign and Illustrator) sufficient to design, illustrate and professionally package press ready projects, as well as understand design, composition and conceptual integration of text and imagery. Prerequisite: ART 265

DIG 280
Game History and Development

This class will explore the history of digital game design as well as the technologies, culture and social-sphere that surrounds it. The course will cover digital and electronic games and platforms, as well as the tools of development employed in their creation. An exploration of the relationship between these elements and their influence on contemporary game design and culture will be central to the course. Prequisite: ART 265

DIG 300
Digital Media Production

This course provides an intensive hands-on investigation into a wide range of digital production tools. Skills are honed as students develop their creativity within the context of specific software applications. Students create new work for their portfolios with an emphasis on individual objectives and specific areas of interest. In addition to studio work, students examine pertinent readings in digital media and visual communications through papers and classroom discussion. Readings and essays also provide a theoretical framework for effective communication in individualized projects.

DIG 301
Digital Video II

This course is an opportunity for serious video students to hone their skills as an editor, director and cinematographer through the development of ambitious projects. Sound and cinematography are integrated into the concepts inherent in their productions. The screen functions as an immersive, temporal canvas where students in Digital Video II develop their green screening techniques and integrate special effects software into their productions. The primary software in Digital Video II includes the advanced application of Premiere Pro with After Effects. Students are expected to write, storyboard, edit and shoot their productions. Outcomes of the course consist of work to be included in student portfolios for graduate school and potential employment, as well as the ability to critically think about their work in relationship to other artists and in relationship to their own objectives as an artist and filmmaker in the digital age. Prerequisite: DIG 201

DIG 310
Introduction to Game Design

This course will explore the practice and theory that surrounds interactive game design. The course will focus on the principles of game design, the social and cultural context of games, and the application of these concepts. Particular attention will be placed on individual creativity, the collaborative design process, and an understanding of the meaning of “gaming” and “play” in contemporary culture. Basic prototyping and design software will be used as a part of this course. Prerequisite: ART 265

DIG 311
Experience Design and Narrative

This class will introduce students to new ways of thinking about interactivity and storytelling. Students will analyze how the interactive structure of an experience creates narrative. Focus will be placed on non-linear narratives, online interactive storytelling, alternative reality and narrative structures in game systems. Students will research the history that led to these genres and create their own interactive experience as part of the class. Prerequisite: DIG 280, DIG 310

DIG 315
Web Design

This class integrates Macromedia Flash MX with other applications resulting in web-based design and animation for online distribution. This course aids students in the development of their work within a professional standard emphasizing the concept of form and function. Students are taught appropriate history, aesthetic philosophy and key applications through class lecture and studio projects. They are expected to consider these concerns while formulating their work. In-class critiques and individual instruction are used to refine student work. Prerequisite: ART 265

DIG 320
Simulation Design

The Simulation Design Class will explore how programmers and designers can manage the simulation of small and large-scale systems and environments in both games and applied-simulation fields. A focus will be placed on the frameworks used in these simulations, including design of rule-systems, asset management, and managing out-of-simulation input. Prerequisite: DIG 280, DIG 310

DIG 325
Visual Design for the Web

This course explores the web from a visual design and effective communications perspective. Students will engage the history and aesthetics of web design, and apply design principles to the creation and maintenance of their own website within a commercial content management system. Students will explore aspects of digital design particular to web and online use through lecture and discussion, in-class engagements, and applied projects. The course may additionally consider and incorporate the uses of web, social media, and other digital online tools as modes of visual communication, promotion, and expression. Prerequisite: ART265

DIG 330
3D Animation II

This studio course is a combination of hands-on exercises and in-class research designed for ambitious animators already familiar with working in the three-dimensional realm in AliasWavefront Maya and/or other 3D applications. This course introduces new methods of creating and manipulating both polygonal and nurb shapes developed by 3D artists who have researched for years to find the best methods of achieving effects and models. Students also learn the native language of Maya, MEL, by hands-on use for specific special effects. By exploring such methods, students are able to choose and acquire their own techniques, and gain control of the 3D world at the professional level. Prerequisite: DIG 230

DIG 370
Game Production Capstone

The Game Production course is designed to give participants an understanding of the digital game production process, from a product’s inception to its public release. While learning the methods, tools, and techniques used by game development teams, the class will create a real-world product, test it, market it, and release it to the public. Aspects of design, aesthetic, interface, monetization, and social and cultural context will all be considered. Prerequisite: DIG 310, 311

DIG 380
Visual Programming
This course targets an audience of individuals within the context of the visual arts who are interested in creating interactive and visual work though writing software but who have little or no prior programming experience. Many people think programming is only for people who are good at math and other technical disciplines. In this course, we will be extending the programming space to engage people who think differently, people with visual and spatial minds. The language used is called processing. This language makes it possible to introduce software concepts in the context of the arts and also to open arts concepts to a more technical group. Satisfies the General Studies Foundations Quantitative Reasoning requirement.

DIG 420
Senior Seminar
This course is meant as a rite of passage from an undergraduate student to a professional working in the field or a scholar and artist pursuing graduate studies. The faculty works closely with students in the creation of a portfolio showcasing each student’s work while demonstrating aesthetic and critical thinking. Writing assignments, resume´ construction and art and design coursework augment the senior seminar experience. Students must utilize all their talents, creative thinking, and honed craft when creating work for group critiques.

DIG 470
Game Production
This course is designed to give participants an understanding of the digital game production process, from a product’s inception to its public release. While learning the methods, tools, and techniques used by game development teams, the class will create a real-world product, test it, market it, and release it to the public. Aspects of design, aesthetic, interface, monetization, and social and cultural context will all be considered. Prerequisite: DIG 310, DIG 311

Wireless Technologies

The Computer Science Department’s Personal Digital Assistant (PDA) curriculum is a comprehensive program for higher education students interested in learning wireless technologies.

Today’s computing is done on handheld computers. Academically, students need to be educated in the latest technologies that reflect current business and consumer trends. Nationally, there exists a need for IT and IT-related professionals to become proficient in handheld wireless technologies, as it is one of the fastest growing fields in IT today. The possibilities of these small devices are only limited by the imagination of the user.

To this end, the department has established two wireless research labs. These labs house Sun ULTRA 10 workstations and DELL Pentium computers and are reserved for research and application development for such things as mobile devices, smartphones and Palm OS-based handhelds.


Albright’s academic computing facilities include Sun ULTRA 80 file server with Sun ULTRA 10 and ULTRA 5 workstations for student use. These computers may be accessed through the computer science lab located in the Center for Computing and Mathematics. Additional access is provided via internet connections for students living in the residence halls and off-campus. Many language processors, such as C, C++, JAVA, Visual Basic and Python are available on the system for student use.