Course
              
          Discontinued
              No
          Course code
              CSIS 1275
          Descriptive
              Introduction to Programming II
          Department
              Computing Studies & Information Systems
          Faculty
              Commerce & Business Administration
          Credits
              3.00
          Start date
                                                                                        End term
                                                                                        201620
                            PLAR
              Yes
          Semester length
              15 Weeks X 4 Hours per Week = 60 Hours
          Max class size
              35
          Contact hours
              Lecture:	2 Hours per week
Seminar:	2 Hours per week
Total:	4 Hours per week
          Method(s) of instruction
          Lecture
          Lab
          Seminar
              Learning activities
              - Lecture
- Seminar
- Tutorial
- Hands-on exercises in the lab
Course description
              This course is a thorough introduction to computer science and programming suitable for students with some programming background. Students will learn the fundamental concepts and terminology of computer science and acquire elementary programming skills in the Java programming language. 
This course is intended for students who will major in computing science or a related program.
Note: Students who have received credit for CISY 3480 will not receive further credit by taking CSIS 1275.
          This course is intended for students who will major in computing science or a related program.
Note: Students who have received credit for CISY 3480 will not receive further credit by taking CSIS 1275.
Course content
              - Usage of the official Java Development Kit (JDK) and any appropriate third party development kit for Java
- Data types, variables, and comments
- Arithmetic operators
- Math and String class
- Decision Structures
- Loops and Files
- Methods
- Overloading
- Classes and Interfaces
- Arrays
- Inheritance
- Overriding
- Exceptions
- Recursion
- Introduction to basic Search and Sorting algorithm
- Basic to more advanced Swing components and Event handling
- The basics of Java applets.
Learning outcomes
              At the end of this course the successful student will be able to:
- Identify the purpose and behavior of a provided code fragment.
- Adapt an existing code fragment to change its behavior.
- Modify conditional and iterative structures in a short program.
- Write well-structured, well- documented, well-commented readable code.
- Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, basic conditional and iterative structures, and functions.
- Describe the syntax and semantics of conditional structures.
- Use conditional structures.
- Apply the techniques of decomposition to break a program into smaller pieces.
- Describe the role of formal and actual parameters of a function.
- Describe how strings and arrays are allocated, manipulated and used.
- Compare iterative and recursive solutions for elementary problems such as factorial.
- Formulate loop invariants for simple loops.
- Demonstrate loop termination.
- Implement, test, and debug simple recursive methods.
- Explain the philosophy of object- oriented design and the concepts of encapsulation, abstraction, inheritance, interface and polymorphism.
- Describe how the class mechanism supports encapsulation and information hiding.
- Compare and contrast the notions of overloading and overriding.
- Identify the scope of the variables involved in a given code.
Means of assessment
              | Assignments (2-6) | 20% - 30% | 
| Participation | 0% - 10% | 
| Quizzes (2 - 3) | 10% - 20% | 
| Midterm Examination | 25% - 30% | 
| Final Examination | 25% - 30% | 
| 100% | 
Textbook materials
              Textbooks and Materials to be Purchased by Students
Farrell. Java Programming. Latest Edition. Course Technology.
or
Gaddis and Muganda, Java from Control Structures through Data Structures
Prerequisites