CIS Homeline
   
ABET
Note from Undergraduate Chair
Degree Programs
  CIS Minor
Submatriculation
Academic Advising
  Penn Tutoring Services
Penn Mentoring Program
CIS Courses
 

Course Descriptions
Fall Course Schedule
Spring Course Schedule
Summer Course Schedule

Research at CIS
  Undergraduate Research
Student Groups and Activities
Admissions
Financial Aid
Job and Internship Opportunities
Contacts
   

 

CIS Home divider Penn Engineering divider PENN   spacer
 

 
 Message from Amir Roth - CIS Undergraduate Curriculum Chair 

Amir Roth
Associate Professor
Computer and Information Science
Undergraduate Curriculum Chair

 

I took my first programming class as a college sophomore in 1991. The language I learned was Pascal. I did my programming assignments on a 10MHz Apple McIntosh with 20MByte hard drive a tiny black-and-white monitor. To demo my programs to the TA, I would tote a 3.5" floppy to the main computer lab. I couldn't email my assignment to my TA because, this being a large introductory course, we weren't given email accounts. Only people who survived and made it to the sophomore-level Lisp course were given those. But it didn't matter, there was no one to send email to anyway. When I finally got my email account the next fall, I may have received twenty email messages the entire semester. The big break came during my junior year, when NCSA released Mosaic, the first web browser. I remember spending hours surfing the Web. All of it. And I don't remember finding anything too useful or interesting.

Only eighteen years have passed since that first programming class. But eighteen years is an infinity in computer time. It's twelve "Moore's Law" computer generations in fact. This means that computers got (roughly) twice as fast and twice as cheap twelve times over. If you do the math, the improvement factor comes to a little over four thousand. Which is a little high, but certainly in the ballpark. I don't have to enumerate all the changes that have taken place in the intervening years. You know them all. Even if you aren't a computer science major. And that is the most incredible change of all.

The fundamentals of Computer Science are the same now as they were then: discrete structures, algorithms, digital logic, operating system basics. But the technology is different: Java, wireless networking, World Wide Web, graphics, artificial intelligence, and more. Penn's Computer Science Programs are designed to give students a solid foundation in the timeless fundamentals of computing, but to do so in the context of the latest in technology. All incoming freshmen learn Java and its applications to the World Wide Web during the first year. The rest of the core curriculum balances programming, computer science theory, and systems. A wide range of advanced undergraduate and graduate level courses allows students to pursue subjects that interest them in greater depth.

The undergraduate program provides ample opportunities for "hands on" experience and learning. The programming courses have laboratory sections and many other courses have substantial project components. All of this leads to a two-semester Senior Design Project, which many studnets use to build quite impressive systems artifacts. In the Fall of 2009, we are launching a new Computer Engineering program in collaboration with the Electrical and Systems Engineering department. This intensive program will emphasize hands-on project work even more.

Penn Computer Science is a top-flight research department. Our faculty use their research to enhance and enrich the classroom experience. Faculty frequently offer seminars based on their own research interests and other current themes. Undergraduate students are encouraged to involve themselves in ongoing research projects. Many of them take advantage of this opportunity to explore and make contributions to the leading edge of the field.

Computer Science is increasingly an inter-disciplinary field. Computing is informing and enriching fields like biology and medicine, economics and business, art and media, sociology and psychology. In turn, it is being informed and enriched by its interactions with these fields. Penn's Computer Science offers flexible degree programs that allow students to combine their interests in computer science with interests in other fields. Students can choose a pre-existing program like Digital Media Design, Management and Technology, and Cognitive Science, or create their own program of study. We are fortunate to be part of a university with so many other top-flight departments, programs, and professional schools. The presence of these programs, their faculties and students, facilitate broad exposure to many other disciplines, enriching the Computer Science experience.

Amir Roth


 


 
 
CIS Home divider Penn Engineering divider PENN   spacer