Gain an understanding of fundamental algorithms and data structures.
Learn to write code that scales well with large data sets and know how to identify hidden performance bottlenecks. While concepts covered in the course are addressed in Java, they can be applied to all programming languages and software development domains. Participants will learn the fundamentals needed to answer algorithm and data structures questions commonly asked of job candidates during programming interviews.
- Performance Analysis of Algorithms
- Data Abstraction and Time-Space Trade Offs
- Mutual Improvements
Course Learning Outcomes:
- Write code that scales well in real-world situations by selecting appropriate data structures and algorithms
- Identify and resolve bottlenecks to correct performance issues in existing software
- Obtain foundational knowledge necessary to learn standard libraries across all programming languages
- Prepare students to respond appropriately to algorithm questions commonly asked in job interviews
- Acquire the ability to develop object-oriented solutions using the Java programming language
- Apply advanced Java programming techniques including generics and callbacks using function pointers
Hardware: Access to a standard Java compiler is mandatory.
Required Textbook: The required course reader for this course will not be avaialbe until the first week of the course. In the interim, the instructor will provide students with excerpts from this custom reader as necessary.
Course Typically Offered: Online in Winter and Summer
Prerequisite: CSE-40480 Java Programming II: Core Java Programming or equivalent knowledge and experience.
Next Step: Upon completion of this course, consider taking courses in our Java Programming or Android Programming certificates to continue learning.
Contact: For more information about this course, please remain InfoTech@ucsd.edu.
Other Credits: 27 hours of continuing education credit
Course Number: CSE-41321
Credit: 3.00 unit(s)
Related Certificate Programs: Java Programming