New Languages for CECS Students

python logoBeginning this semester, CSULB Computer Engineering and Computer Science students will have a chance to learn new programming languages. Python will replace Java in “Introduction to Programming and Problem Solving” (CECS 174) and C++ will replace Java in the new CECS 275 class for Computer Engineering majors. Computer Science majors will continue to learn Java, however, in their “Object-Oriented Programming and Data Structures” (CECS 274) class.

Python is replacing Java in the intro class because it’s easier to learn, said CECS Chair Burkhard Englert. According to an article in Communications of the ACM, Python is now the most popular language to use for teaching introductory programming, favored by nearly 70 percent of top U.S. universities. A general-purpose language with a simple code base, Python allows extensions to be added as necessary.

Java, which was developed by Sun Microsystems in the 1990s, remains the most popular language for back-end enterprise and mobile applications, according to the Tiobe Index, although its security vulnerabilities are a concern.

Python, the fifth-most popular programming language on the Tiobe Index, was developed in the 1980s by Dutch programmer Guido van Rossum. Many new features were added with the 2005 release of Python 2.0.

Englert said introducing students to programming with Python is intended to help boost retention rates among lower-division students.

C++, developed by Bjarne Stroustrup in 1979 with an eye toward systems, remains in widespread use and is the third-most popular language on the Tiobe Index.

Englert said programming languages don’t change very often in the classroom because it creates uncertainty. At the same time, he said, “computer science changes so fast and there are so many changes in the job market.”

In other changes to the curriculum:

  • For Computer Science majors, “Digital Logic” and “Assembly Programs” will be combined into CECS 225, and a new security class added;
  • A Linear Algebra class (CECS 229) was created specifically for CECS students; and
  • The 491/492/493 capstone sequences were expanded into two semesters.