Programming 2 – CS 1103
CS 1103 Programming 2 is a comprehensive progression from the foundational principles established in Introduction to Programming 1 (CS 1102). This course delves deeper into the Java programming language, encompassing a range of advanced concepts that extend beyond the fundamental knowledge acquired in the initial programming course. A substantial portion of the curriculum is dedicated to exploring advanced programming components, including Multithreading, Network programming, Applets, Generic programming, and Advanced GUI programming. These advanced building blocks empower students to tackle complex software development tasks, implement multithreaded applications, communicate through network protocols, create interactive applets, employ generic data structures, and design sophisticated graphical user interfaces.
Throughout this course, students will refine their skills in crafting intricate, robust, and efficient software solutions. Emphasizing the importance of professional development, students will work with industry-standard tools, such as the Eclipse Integrated Development Environment (IDE). Eclipse offers a seamless and professional environment for software development, facilitating code writing, debugging, and testing with efficiency and precision. This course is designed to equip students with the knowledge and expertise needed to excel in the realm of Java programming, providing a strong foundation for tackling complex software development projects and addressing real-world programming challenges.
Learning Objectives and Outcomes:
By the end of this course students will be able to:
- Explain the programming techniques using Java.
- Explain the advanced Object-Oriented concepts.
- Use tools such as the Eclipse and the Eclipse debugger.
Course Schedule and Topics
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).
Week 1: Unit 1 – Exception Handling and String Handling
Week 2: Unit 2 – Packages in Java
Week 3: Unit 3 – Multithreading
Week 4: Unit 4 – I/o and Applets
Week 5: Unit 5 – Introduction to Java Database Connectivity
Week 6: Unit 6 – Generic Programming
Week 7: Unit 7 – Files and Networking
Week 8: Unit 8 – Advanced GUI Programming
Week 9: Unit 9 – Course Review and Final Exam
Learning Guide
The following outlines how this course will be conducted, with suggested best practices for students.
Week 1: Unit 1 – Exception Handling and String Handling
- Illustrate the use of try catch, throw and finally blocks.
- Define Java Strings and explain their basic characteristics.
- Identify the common string operations and methods available in Java.
Week 2: Unit 2 – Packages in Java
- Explain the uses and significance of Java packages.
- Demonstrate the use and import of Java packages.
Week 3: Unit 3 – Multithreading
- Describe the Java Thread model and its basics.
- Illustrate the use of Threads and thread priorities.
Week 4: Unit 4 – I/o and Applets
- Discuss the fundamentals of Java I/O streams and their types.
- Describe various types of Applets and use of Applet class.
Week 5: Unit 5 – Introduction to Java Database Connectivity
- Illustrate the use of database connectivity with JDBC (Java Database Connectivity).
- Discuss the basic concept of CRUD (Create, Read, Update, Delete) operations.
Week 6: Unit 6 – Generic Programming
- Describe the concept of Generic data structures within the Java Collection Framework.
- Demonstrate the use of Generic classes and methods.
Week 7: Unit 7 – Files and Networking
- Demonstrate the file operations and programming with files.
- Discuss the fundamental understanding of networking classes and Interfaces.
- Illustrate the fundamental understanding of socket programing.
Week 8: Unit 8 – Advanced GUI Programming
- Identify advanced graphical features available for GUI programming in Java.
- Illustrate design skills for GUI applications, including creating effective user interfaces.