Java Exercises and Coursework
Transition from basic programming skills to a rigorous process of software development. Familiarization with higher level programming techniques (recursion, generic programming, stacks, queues, trees, searching, and sorting). Emphasizes connection between algorithmic thought and implementation.
Students develop competencies associated with problem‐solving, design, testing, programming, and management techniques. Besides learning programming fundamentals, you will see common applications and consider these applications in society. Good software engineering and algorithm analysis techniques are used throughout. As with most technical courses, besides ability and motivation, it takes time to learn and master the subject.