The Computer Science and Engineering Department in Penn State offer one of the strongest programs in the United States. The graduate program is especially good, being ranked 16th nation-wide. I am a senior in computer engineering (CE, for short) who is about to graduate, so I know a lot about my major. The CE major in Penn State is under enrollment control, so you can only guarantee entrance to the major if you have a GPA of 3.2 or above after your freshman year. This is because many students want to enter the major, and so the department has to cut down the number of entrants by using enrollment control.
If you dedicate yourself to your studies, then it is easy enough to be accepted into the major in Penn State. In CE, you will learn how to design and use computers in order to solve real-life problems. If you like mathematics, or if you are a logical thinker, then you will do very well in CE. The CSE Department in Penn State is very well funded, and has recently moved to a new building which includes excellent computer labs (featuring Sun Ray machines, as well as Windows PCs).
In the first two years in computer engineering, you will mostly take general engineering courses. This is the same for all engineering majors. You will be taking courses in mathematics (calculus, differential equations), physics, chemistry, and english. By your second year, you will also begin taking introductory courses in CE, such as introduction to programming and introduction to digital systems.
Once you get accepted into the CE major in your third year, you will begin taking many CE courses. You will also be taking some courses in electrical engineering, since there are many things a computer engineer needs to know about electrical systems. In your junior (third) year, you will begin to learn about computer architecture and design, data structures and algorithms. Electrical engineering courses in electronic circuit design and other subjects will also be taken at this time. When you reach your senior year, you will mostly be taking CE electives. In other words, you will be given a list of courses, divided into groups, which you can choose from. You choose what electives you want to take depending on what you want to specialize in. Here is a short list I made to give you an idea of what you can do:
- Hardware specialization: digital integrated circuits, VLSI design, logical deisgn of digital systems, and the computer engineering project course where you have to design and build a robot. This specialization is closer to electrical engineering
- Software specialization: compiler construction, concurrent computing, theory of automata, artificial intelligence, and software design methods. This is the specialization I chose.
- Mathematical computing: numerical computations and analysis, factorization and primality testing. Only if you like maths. By specializing here, you can also easily double-major into mathematics.
