Programming 1

RMIT University Vietnam

Course Description

  • Course Name

    Programming 1

  • Host University

    RMIT University Vietnam

  • Location

    Ho Chi Minh City, Vietnam

  • Area of Study

    Computer Programming, Computer Science, Information Technologies

  • Language Level

    Taught In English

  • Prerequisites

    COSC1519/COSC1321 Introduction to Programming

    You may not enrol in this course unless one of these courses is explicitly listed in your enrolment program summary.

    Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

    Hours & Credits

  • Host University Units

    12
  • Recommended U.S. Semester Credits
    4
  • Recommended U.S. Quarter Units
    6
  • Overview

    Course Description

    This course introduces Object-Oriented programming using the Java programming language. This course covers: algorithm development using standard control structures; design methods such as step-wise refinement and object oriented programming; the use of standard Java classes and interfaces; the use of standard APIs; I/O processing; programming style and code reuse, and basic strategies for software testing.

     

    Objectives/Learning Outcomes/Capability Development

    This course contributes to the following Program Learning Outcomes (PLOs) for BP162 Bachelor of Information Technology and BP232 Bachelor of Technology (Computing Studies):

    PLO1. Enabling Knowledge: You will gain skills as you apply knowledge effectively in diverse contexts.

    PLO2. Critical Analysis: You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

    • Analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
    • Evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

    PLO3. Problem Solving: Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to:

    • Design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

    PLO4. Communication: You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to:

    • Present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.
    • PLO5. Team Work: You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to:


    Work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.

    PLO6. Responsibility: You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to:

    • Effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.
       

    Course Learning Outcomes

    Upon successful completion of this course you should be able to:

    • CLO 1: Solve simple algorithmic computing problems using basic control structures and Object-Oriented Techniques.
    • CLO 2: Design and implement computer programs based on analysing and modelling requirements.
    • CLO 3: Identify and apply basic features of an Object-Oriented programming language through the use of standard Java (Java SE) language constructs and APIs.
    • CLO 4: Identify and apply good programming style based on established standards, practices and coding guidelines.
    • CLO 5: Devise and apply strategies to test the developed software.
    • CLO 6: Explain key concepts of object-oriented programming in Java.

     

    Overview of Learning Activities

    The learning activities included in this course are:

    Lectures: In general, lectures will be based upon the prescribed text and lecture notes. Where other material is used, explicit references will be given, with preference going to material that is widely available (e.g. freely available on the WWW or in the library). Because this course has an emphasis on software development in practice, students will be exposed to demonstrations of application development using a laptop computer, a projector and a Java IDE where possible.

    Tute/Lab Sessions: Weekly two-hour tute/lab sessions will be conducted with a focus on active learning via interactive activities and discussions around the practical assessment. In general lab exercises are practical in nature and mostly relate to the assessment tasks so that students incrementally gain the skills required to develop working applications rather than having to apply a broad range of knowledge and combine a number of different skills and capabilities in a single large effort.

    Blackboard: All learning materials will be available on blackboard including lecture notes, tutorial and lab exercises, example source code and recorded lectures. Students will also participate in discussion with staff and other students via the online discussion board.

     

    A total of 120 hours of study is expected during this course, comprising:

    Teacher-directed hours (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lecture plus 2 hours of practical work in the computer laboratory. You are encouraged to participate through asking questions, commenting on the material based on your own experiences and by formulating solutions to provided exercises. The tutorial/laboratory sessions will introduce you to the tools and techniques necessary to undertake the assignment work.

    Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.

     

    Overview of Learning Resources

    The course is supported by the Blackboard learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci 

     

    Overview of Assessment

    The assessment for this course comprises a laboratory component, a practical programming assignment component (assignment part A, B) and a written exam component. The assignment work will be evaluated in terms of functional correctness as well as analysis of your source code and documentation. The exam will take place under standard exam conditions.


    Note: This course has no hurdle requirements.

    Assessment tasks

    Assessment 1: Lab Assessment 
    You will have five small practical assessment exercises in the laboratory (spread throughout the semester) to help you assess your progress and manage your learning.
    Weighting 5 x 3%=15%
    This assessment task supports CLOs 1-5

    Assessment 2: Assignment part A 
    In Assignment part A you will add some specified functionality to a supplied code framework using Java looping and array constructs.
    Weighting 15%
    This assessment task supports CLOs 1-5

    Assessment 3: Assignment part B 
    In Assignment part B you will extend your solution from assignment part A by implementing some specified functionality using Object-Oriented Java constructs.
    Weighting 20%
    This assessment task supports CLOs 1-5

    Assessment 4: End-of-semester Examination 
    Weighting 50% 
    This assessment supports CLOs 1, 2, 3 & 6