computer science at albright  

Computer Science

Professor Falabella, Chair
Associate Professor Seaman

Computer science is a field that has evolved rapidly during the last 50 years, developing the principles and theoretical underpinnings of a mature science. With a heritage dating back to the 17th century mathematicians and philosophers Pascal and Leibnitz, computer science has roots in such disciplines as mathematics, logic and linguistics.

The computer science curriculum is modeled on recommendations of the Association for Computing Machinery, the world's oldest and largest educational and scientific computing society. The concentration prepares students for apprentice level positions in system software design, development, implementation and maintenance, as well as for graduate study. The intention is to educate students in principles with a long, useful life rather than to provide vocational training that may be obsolete in less than a decade.

top


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.

Tomorrow's computing will be 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 hand-helds.

top


Concentration in Computer Science

Requirements:

  • CSC 141, 142
  • CSC 213
  • CSC 305, 306
  • Two 400-level courses
  • Two elective courses from CSC 307, 372, 382, 385 and 391
  • Four related mathematics courses: MAT 103, MAT 104, MAT 108 and MAT 307 (Any prerequisites for MAT 307 are waived for
    computer science majors.)
  • MAT 107 should be taken as a general studies
    quantitative reasoning course.

top


Co-Concentration in Computer Science

Requirements:

• 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.

top


Facilities

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 dorms and off-campus. Many language processors, such as C, C++, JAVA, Visual Basic and Python are available on the system for student use.

In addition to the main ULTRA 10 server facilities, many microcomputers are licensed with C, C++ and JAVA software. These units are available not only from the Center for Computing and Mathematics, but also from other labs located throughout the campus. More than 150 microcomputers are in use on campus, supporting student word processing, statistics, data base management, instrumentation monitoring and many other diverse functions.

top


Courses

CSC 119
Introduction to Programming

Elements of programming in C, C++ JAVA, or some other high-level language; practical experience solving problems; coding and executing programs. Does not fulfill the computer science concentration requirements.
Prerequisite: permission required for noncomputer science majors

CSC 141
Foundations of Computer Science I

Introduction to problem-solving methods and algorithm development using object-oriented methodology and JAVA. 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
Algorithms

Analysis of data structures and algorithms for their manipulation. Comparative efficiency of searching and sorting algorithms. The course applies analysis and design techniques to non-numeric algorithms which act on data structures.
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 (W)

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 372
Graphics

Development of computer graphics concepts, including point plotting techniques, transformations, hidden edges and surfaces. Both two-dimensional and three-dimensional applications are presented. Students are expected to develop programs in a structured language and to use the OpenGL API.
Prerequisites: CSC 142 and MAT 307 or permission of the department

CSC 382
Computer Science Internship

Application of 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. Currently, these topics include object-oriented methodologies, expert systems, artificial intelligence, advanced graphics concepts, database management, wireless research and algorithm analysis. It is designed to provide the serious student with a challenging course in 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: CSC 305 and permission of the department

CSC 491
Seminar

Assigned readings, seminars, projects and lectures in areas of special interest. These areas include: 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 computer science student. May be repeated with new topic.
Prerequisite: three 300-level computer science courses.

top of page