Computer Science

CS 1103 Programming 2

CS 1103: Programming 2

Prerequisites: CS 1102 - Programming 1

Course Description: 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. 

Required Textbook and Materials: UoPeople courses use open educational resources (OER) and other materials specifically donated to the University with free permissions for educational use. Therefore, students are not required to purchase any textbooks or sign up for any websites that have a cost associated with them. The main required textbooks for this course are listed below, and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course's General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.

  • Mossessian, N., Moustafa, S., & Thompson, C. (2013). How to Format a Syllabus Properly (10th ed.). Los Angeles, CA: University of the People Press. Available at

Software Requirements/Installation: 

For you to work on the various programming assignments in this course you will need JAVA and Eclipse to be installed on your computer.

    • You can download and install Java application on your computer using the download page from the Oracle website. Use the latest version.
    • You can download and install Eclipse application on your computer using the download page from the Eclipse website. Use the latest version.

Operating System: Windows, MacOS

Note that the information on how to install the software has been included in Unit 1, under the heading 'Installing Java'.

Learning Objectives and Outcomes:

By the end of this course students will be able to:

  1. Explain the programming techniques using Java.  
  2. Explain the advanced Object-Oriented concepts.  
  3. 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

Unit Learning Outcomes:

By the end of this Unit, you will be able to:

    1. Illustrate the use of try catch, throw and finally blocks.
    2. Define Java Strings and explain their basic characteristics.
    3. Identify the common string operations and methods available in Java.

Week 2: Unit 2 - Packages in Java

Unit Learning Outcomes:

By the end of this unit, you will be able to:

    1. Explain the uses and significance of Java packages.
    2. Demonstrate the use and import of Java packages.

Week 3: Unit 3 - Multithreading

Unit Learning Outcomes:

By the end of this unit, you will be able to:  

    1. Describe the Java Thread model and its basics. 
    2. Illustrate the use of Threads and thread priorities.

Week 4: Unit 4 - I/o and Applets

Unit Learning Outcomes:

By the end of this unit, you will be able to:

    1. Discuss the fundamentals of Java I/O streams and their types.
    2. Describe various types of Applets and use of Applet class.

Week 5: Unit 5 - Introduction to Java Database Connectivity

Unit Learning Outcomes:

By the end of this unit, you will be able to:

    1. Illustrate the use of database connectivity with JDBC (Java Database Connectivity).
    2. Discuss the basic concept of CRUD (Create, Read, Update, Delete) operations.

Week 6: Unit 6 - Generic Programming

Unit Learning Outcomes:

By the end of this unit, you will be able to:

    1. Describe the concept of Generic data structures within the Java Collection Framework.
    2. Demonstrate the use of Generic classes and methods.

    Week 7: Unit 7 - Files and Networking

    Unit Learning Outcomes:

    By the end of this unit, you will be able to:

      1. Demonstrate the file operations and programming with files.
      2. Discuss the fundamental understanding of networking classes and Interfaces.
      3. Illustrate the fundamental understanding of socket programing.
      Week 8: Unit 8 - Advanced GUI Programming

      Unit Learning Outcomes:

      By the end of this unit, you will be able to:

        1. Identify advanced graphical features available for GUI programming in Java. 
        2. Illustrate design skills for GUI applications, including creating effective user interfaces.
        Week 9: Unit 9 - Course Review and Final Exam

        Course Requirements:

        Discussion Assignments & Response Posts/Ratings
        Some units in this course require that you complete a Discussion Assignment. You are required to develop and post a substantive response to the Discussion Assignment in the Discussion Forum. A substantive response is one that fully answers the question that has been posted by the instructor. In addition, you must extend the discussion by responding to at least two (2) of your peers’ postings in the Discussion Forum. Your discussion posts will be assessed by your instructor.  Discussion Forums are only active for each current and relevant learning week, so it is not possible to contribute to the forum once the learning week has come to an end. Failure to participate in the Discussion Assignment by posting in the Discussion Forum and responding to peers as required may result in failure of the course.

        Programming Assignments 
        The programming assignments are graded by your instructor. The grading rubric is listed under the assignment instructions. The grading rubric is a document that outlines the criteria that your instructor will use to grade your work.

        This course will contain three types of quizzes – the Self-Quiz, the Graded Quiz, and the Review Quiz. These quizzes may contain multiple choice, true/false, or short answer questions. The results of the Self-Quiz will not count towards your final grade. However, it is highly recommended that you complete the Self-Quiz to ensure that you have adequately understood the course materials. Along with the Reading Assignments, the results of the Self-Quiz should be used as part of an iterative learning process, to thoroughly cover and test your understanding of course material. You should use the results of your Self-Quiz as a guide to go back and review relevant sections of the Reading Assignments. Likewise, the Review Quiz will not count towards your final grade, but should also be used to assist you in a comprehensive review and full understanding of all course material, in preparation for your Final Exam. Lastly, the results of the Graded Quiz will count towards your final grade. Specific instructions on the format and content of the Graded Quiz will be provided by your instructor.

        Final Exam
        The Final Exam will take place during the Thursday and Sunday of Week/Unit 9, following the completion of eight units of work. The format of the Final Exam is similar to that of the quizzes, and may contain a combination of different question types. You will have one attempt to take the exam, and it will be graded electronically. Specific instructions on how to prepare for and take the exam will be provided during Week/Unit 8.

        Course Forum

        The Course Forum is the place to raise issues and questions relating to the course. It is regularly monitored by the instructors and is a good place to meet fellow students taking the same course. While it is not required to participate in the Course Forum, it is highly recommended.

        Class Introductions
        This section is your opportunity to introduce yourself to your classmates and create a vibrant learning community. By sharing your background, interests, and goals, you can create meaningful connections and discover commonalities with your peers. 

        Course Policies:

        Grading Components and Weights
        Each graded component of the course will contribute some percentage to the final grading scale, as indicated here:

        Items Number of assignments Weight
        Discussion Forum 5 30%
        Programming Assignment 6 35%
        Graded Quiz (Unit 3 and Unit 6) 2 20%
        Final Exam 1 15%

        Grading Scale
        This course will follow the standard 100-point grading scale defined by the University of the People, as indicated here:

        Letter Grade
        Grade Scale Grade Points
        A+ 98-100 4.00
        A 93-97 4.00
        A- 90-92 3.67
        B+ 88-89 3.33
        B 83-87 3.00
        B- 80-82 2.67
        C+ 78-79 2.33
        C 73-77 2.00
        C- 70-72 1.67
        D+ 68-69 1.33
        D 63-67 1.00
        D- 60-62 0.67
        F Under 60 0.00

        Grade Appeal

        If you believe that the final grade you received for a course is erroneous, unjust, or unfair, please contact your course instructor. This must be done within seven days of the posted final grade. For more information on this topic, please review the Grade Appeal Procedure in the University Catalog.

        Non-participation is characterized by lack of any assignment submissions, inadequate contributions to the Discussion Forums, and/or lack of peer feedback to Discussion/Written Assignments. Also, please note the following important points about course participation:

        • Assignments must be submitted on or before the specified deadline. A course timeline is provided in the course schedule, and the instructor will specify deadlines for each assignment.
        • Any student showing non-participation for two weeks (consecutive or non-consecutive) is likely to automatically fail the course.
        • Occasionally there may be a legitimate reason for submitting an assignment late. Most of the time, late assignments will not be accepted and there will be no make-up assignments.
        • All students are obligated to inform their instructor in advance of any known absences which may result in their non-participation.

        Academic Honesty and Integrity
        When you submit any work that requires research and writing, it is essential to cite and reference all source material. Failure to properly acknowledge your sources is known as “plagiarism” – which is effectively passing off an individual’s words or ideas as your own. University of the People adheres to a strict policy of academic honesty and integrity. Failure to comply with these guidelines may result in sanctions by the University, including dismissal from the University or course failure. For more information on this topic, please review the Academic Integrity Policy in the University Catalog.

        Any materials cited in this course should be referenced using the style guidelines established by the American Psychological Association (APA). The APA format is widely used in colleges and universities across the world and is one of several styles and citation formats required for publication in professional and academic journals. Refer to the UoPeople APA Tutorials in the LRC for help with APA citations. For help with using library, kindly refer to UoPeople Library.

        Code of Conduct

        University of the People expects that students conduct themselves in a respectful, collaborative, and honest manner at all times. Harassment, threatening behavior, or deliberate embarrassment of others will not be permitted. Any conduct that interferes with the quality of the educational experience is not allowed and may result in disciplinary action, such as course failure, probation, suspension, or dismissal. For more information on this topic, please review the Code of Conduct Policy in the University Catalog.