This highly accessible textbook teaches programming from first principles. In common with many programming courses, it uses Python as the introductory programming language before going on to use Java as the vehicle for more advanced programming concepts.
The first part, which teaches Python, covers fundamental programming concepts, such as data types and control structures and functions. It introduces more complex data types such as lists and dictionaries and also deals with file handling. It introduces object-oriented concepts and ends with a case study bringing together all the topics of the first semester. The second part uses Java to teach advanced concepts and centres around object-oriented programming, teaching key object-oriented concepts such as inheritance and polymorphism. The semester again ends with an advanced case study bringing together all the topics of the second semester.
Topics and features:
Assumes no prior knowledge, and makes the transition from Python to Java a smooth process
Features numerous exercises and also an illustrative case study for each language
Examines procedural and object-oriented methodologies, as well as design principles
Covers such advanced topics as interfaces and lambda expressions, exceptions and Collections
Includes a chapter on graphics programming in Python using Tkinter
Introduces the latest Java technology for graphical interfaces, JavaFX
Explains design concepts using UML notation
Offering a gentle introduction to the field and assuming no prerequisite background, Programming in Two Semesters is the ideal companion to undergraduate modules in software development or programming. In addition, it will serve as a strong primer for professionals looking to strengthen their knowledge of programming with these languages.