
Explore this detailed survey of computing and programming, with an emphasis on understanding object-orientation and the Java and C++ computer programming languages. We will use history, theory, and practice to deliver lessons that prepare you for a career in computer science.
This course will introduce you to a number of more advanced Computer Science topics, laying a strong foundation for future study and achievement in the discipline. We will begin with a comparison between Java, the programming language used in the previous course, and C++, another popular, industry-standard programming language. We will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what we have already learned, while familiarizing ourselves with more advanced programming concepts. The remaining course units will be devoted to various topics, including the Standard Template Library, Containers, Exceptions, Recursion, Searching and Sorting, and generic programming. By the end of the class, you will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting.
- Unit 1: The Building Blocks of Object-Oriented Programming
- Unit 2: C++ and Java Differences
- Unit 3: C++ Standard Template Library
- Unit 4: Java Container Library
- Unit 5: Exceptions
- Unit 6: Recursion
- Unit 7: Searching and Sorting
- Explain the common computational elements for creating algorithms;
- Compare and contrast the features of Java and C++;
- Explain the importance of Java Containers and how their basic components are used;
- Explain the importance of the C++ Standard Template Library and how its basic components are used;
- Understand important common algorithms, such as sorting and search;
- Evaluate programs using run-time analysis;
- Explain the drawbacks and benefits of recursion; and
- Solve simple problems by applying computational elements, algorithms, containers, and templates in a programming process, including problem statement, algorithm design, program construction, and solution analysis.