In my CSE 017 class, we began the year working with object oriented programming in java, which is conceptually fundamental to most coding. We worked with inheritance, polymorphism, and abstraction before covering recursion. Recursion is a very effective way of finding something in a collection, as it searches for a base case (what you are looking for) and continues to run until this case has been found. After this we moved into algorithm analysis and generics. We are currently working with different data structures and how each is implemented and used within programs. I’d be lying if I said some of this stuff wasn’t confusing at times. Coding is like learning an entirely new language, all with its own sentence structure and punctuation. Professor Fouh is my instructor, and he actually worked on a program called OpenDSA for his thesis which we now use in class to learn about different topics.
The program serves as both an online textbook and practice interface. Several quizzes are given within the program to test our understanding of the topics before coming to class. Also included in the course are weekly labs, as well as larger projects to utilize the subject matter. I just finished working on a program that created a Maze and would solve the way out. We have one more big project coming up that will happen at the end of the semester and will be a more practical problem where we get to see our skills come to life. This class is very challenging but also very fun. There is no feeling like trouble shooting a program and then finally figuring out what was wrong with it. Creating a program that actually causes the computer to run and do something that I want it to do is incredible. CSE 017 is required for all students wanting to major or minor in Computer Science. The topics in this class will be essential to later programs and courses that I take here in the systems track of Lehigh’s program.