Home

**Fall 2017**
__**Course Description**__

Introduction to the design and programming of information systems. Topics include algorithms, data structures, user interfaces and use of software libraries. Sample applications include Web-based systems, Android mobile application, Internet of Things (IoT), cloud computing and elementary data analytics.

__**Prerequisite**__

NIL.

__**Learning Objectives**__


 * 1) Understand how to identify and describe the requirements for an information system.
 * 2) Use object-oriented methodology to produce a modular and testable design.
 * 3) Work as part of a team to produce a working system on time.

__**Measurable Outcomes**__


 * 1) Understand the key concepts of Object Oriented Programming as well as their purpose [exams]
 * 2) Use inheritance, polymorphism, encapsulation and method overloading in designing software systems [projects, homework, exams]
 * 3) Identify classes, members of a class and the relationships among them needed for a specific problem [projects, homework, exams]
 * 4) Implement and test basic algorithms and data structures [projects, homework, exams]
 * 5) Understand basic principles of user-interface design [projects, homework]
 * 6) Develop skills in systematic testing and debugging [projects]
 * 7) Work together in a team [projects]

__** Class Time **__

Three Sessions per week (S1, S2, S3).

Please bring your laptop to the class. The class is entirely cohort-based: mini-lectures, problem solving, activities, discussion, in-class quizzes.

We use eDimension for homework and quizzes.