ECE-C 301: Advanced Programming for Engineers




Grading Policy





Course Objectives

This course is the second of two courses which present an introduction to programming with a special emphasis on engineering applications. The language used in the course is Java. The objectives of this course are to obtain:

  1. A thorough understanding of objects and methods through principles of data abstraction and encapsulation, garbage collection, and control of access in classes and objects.
  2. A thorough understanding of inheritance and polymorphism as important elements of object-oriented programming.
  3. An understanding of programming language features that enable exception handling and the reading/writing of files and streams.
  4. An introduction to data structures and simple algorithms such as for searching and sorting, and their use in engineering applications.
  5. An understanding of features of languages such as generics and collections, and their use in engineering contexts.
  6. Proficiency in simulating engineering systems and solving problems using programming.

Course Structure

The course meets 3.5 hours a week comprising of two class. Each class will start with a lecture and end with a lab. The lectures will give students a basic concept of the material presented and the labs are meant to strengthen understanding based on hands on experience. Four take home assignments and a term projects will be assigned. The assignments are meant to further enhance student's understanding of individual concepts and the project will test the student's ability to apply multiple concepts to solve a problem.


Jasper Zhang
Adjunct Professor
Department of Computer Science, Drexel University
Office hours: Wed 3-4pm
Office: That room next to Steve's office that has "Office for disability" written in front of it.

Email: (replace _AT_ with @)

Course Location

Wed:1-3pm, TEC 208
Thur: 9:30-11am, TEC 203