Computer Science
Computer scientists and engineers have revolutionized society and created the computer and telecommunications industries that are so important to human life and the world’s economy. As a result of this revolution, expertise in computer science is essential in many new areas, including computer and network service and consulting companies, financial institutions, health industries, natural science and medical research labs, and other contexts where intensive manipulation of information is important. Opportunities for computer scientists and engineers have expanded greatly, both in specialized fields as well as in numerous interdisciplinary options in which computer science expertise is combined with advanced degrees in business, communication, engineering, law, medicine, and science. For students whose goal is such a career, the computer science program affords the flexibility to obtain a minor, or even a second major in a relevant discipline.
Students in our undergraduate program in Computer Science (CS) not only gain a solid foundation in the theory and design of modern computing systems, but also are exposed to a variety of applications in lab assignments as well as in independent, credited projects. The curriculum is designed to keep students up-to-date with the current technology. For example, the principles of programming and Internet applications are taught using Java to our freshmen.  In later years we offer a rich set of electives and required courses covering the breadth of computer science – computer architecture, databases, network security, graphics, artificial intelligence, robotics and vision, programming languages, machine learning, software systems, theory and algorithms.
Students are encouraged to get “hands on” experience in the research labs associated with the department, as well as to explore cross-disciplinary connections. Those opportunities include the following but are not limited to:  Robotics Research with the Departments of Electrical and Systems Engineering and Mechanical Engineering and Applied Mechanics; Cognitive Science Research with the Departments of Linguistics, Psychology, and Philosophy; Management and Technology with the Wharton School and Artificial Intelligence with the Hospital of the University of Pennsylvania.
Program Educational Objectives: The educational objectives of the undergraduate program in Computer Science are to enable students to:
 • Gain the ability to identify, formulate, and solve challenging computer science problems;
 • Develop professional skills that prepare them for immediate employment or graduate study in computer science and related disciplines;

 • Develop the ability to understand and apply the scientific foundations of computer science, including relevant mathematical foundations;
 • Prepare for leadership roles along diverse career paths including career paths that require a combination of skills in computer science and other disciplines;
 • Develop an understanding of the social and human context in which their computer science contributions will be utilized; and
 • Learn to communicate their ideas and to effectively collaborate with other members of research and development teams.
The Bachelor of Science in Engineering Degree in Computer Science requires a total of 40 course units (cu’s) as follows:
 • Six Mathematics courses
 • Four Natural Science courses
 • Fourteen Computer Science courses
 • Six Technical Electives (two of which must be Computer Science/Engineering Courses)  
 • Seven Social Sciences and Humanities courses
 • Three Free Elective courses
Computer and Telecommunications Engineering
The Computer and Telecommunications Engineering major is a uniquely crafted degree program with three primary components: Computer Systems, Electrical and Systems Engineering and Telecommunications. With the increasing global prevalence of computer systems and networks has arisen a sustained, increasing demand for engineers who can analyze, design, and use computer hardware and software in environments ranging from embedded processors on chips, to small homogeneous systems of a few computers located in close proximity, to very large, heterogeneous systems of computers networked over a widespread geographical area. This is the province of computer engineering. The Internet is just the latest manifestation of the global explosion in communications. Most generically, telecommunications engineering is concerned with the flow of information between several end points. A voice connection, a remote database access, computer communications, and videoconferences, whether they be wired or wireless, are all examples of telecommunications links. To enable two or more end users to communicate, several things must be resolved: 1) the communicating parties must use the same language; 2) they must agree on how to conduct themselves during the information flow; and 3) they must be able to signal the beginning and the end of communication. The technology and protocols which enable an efficient resolution of these issues comprises the field of telecommunications and networks.