Catalog Course Description:
Prepares students to develop software to meet information needs of people and organizations. Covers appropriate use of object-oriented programming constructs and techniques. Focuses on creating client-side programs to solve problems defined by user requirement specifications.
Pre-requisites and Co-requisites:
INFO 108 Foundations of Software
Curriculum Role:
This is a core, required course for the BS in Information Technology and the BS in Information Systems and an approved elective for the BS in Software Engineering. It is taken by students in or following their sophomore year.
Course Rationale:
As more and more information systems are moved to the Internet, the use of Java as the implementation technology has become ubiquitious. This course provides a hands-on introduction to object-oriented design and Java as preparation for development of enterprise, web-enabled applications in subsequent courses.
Course Outcomes:
Upon successful completion of this course, a student will be able to:
Describe object-oriented design and programming language fundamentals
Define the terms class and object and describe their differences and similarities
Be able to design and develop a non-trivial object-oriented application.
Understand and apply a broad range of facilities of a modern programming language.
Understand requirement specifications for simple information needs and translate these specifications into a design for coding.
Translate simple designs describing solutions to problems into programs.
Explain the concept and goals of verification and validation of a program.
Develop a test plan for a small program.
Contribution to Program Educational Outcomes:
This course contributes to the program educational outcomes as follows:
Outcome Contribution
(a) Introductory client-side programming
(b) Students design and implement computer programs using object oriented techniques.
(c) Introductory Object-Oriented program design & implementation
(d), (f) Programming projects are done in pairs or small teams helping students practice working
together and communicating about problems
(h) Introduction to the scope of the knowledge domain.
(i), (j) Object-oriented design and programming principles
(k) Key focus of the course.
Course Content:
Principal topics and the approximate number of weeks devoted to each are:
Introduction to problem solving with software; Applying the programming language paradigm to meeting information needs; Review of basic programming concepts. (1)
Introduction to object-oriented design and an object-oriented language (currently Java)
Introduction to client-side programming.
Java Programming (7)
o How to code statements, comments and identifiers.
o Working with numeric and string data
o Working with Java classes, objects and methods
o Data types & variables. Scope and assignment statements
o Boolean expressions, if/then & switch statements
o Loop statements
o Classes and Objects
o Inheritance
o Libraries
Preparing a coding specification from a requirement statement; Understanding requirements and how they translate into code. (1)
Modifying an existing program; Practical experience in moving from a requirement specification to a working program; Working in pairs (1)
Presentation:
Note: Presentation method may vary somewhat from section to section.
Lectures, in-class exercises, discussion, and demonstration, and homework assignments.
Assessment:
Note: Assessment method may vary somewhat from section to section.
Evaluation is based on individual and pair homework assignments, quizzes, exams, and class participation.
|