CSCI 1301 : Computer Science I

Instructor

 

Name:         Mathias Fonkam (PhD)
Office:         RH Simmons 216A,     

Telephone:   (229) 430-3015
Email:          mfonkam@asurams.edu,mfonkam@yahoo.com
Office Hours: Mon/Wed: 9:00-12pm; Tue/Thu: 2:30 -4:00pm

 

Course Details
Day/Location/Meeting Times: Tuesdays & Thursdays: 8:25 - 9:40 (for Section 2 in RHS 212) & 11:15am -12:30pm (for Section 1 in RHS 210).

 

Texts for Course:

 

 

 

Course Prerequisites: CSCI 2101 - Introduction to Computer Science.

 

Course Description

 

The course will introduce students to key computer science concepts and principles necessary for solving real-life problems on the computer through programming. The object-oriented programming paradigm with Java will be used. Students will be introduced to this relatively new paradigm of programming and will acquire the skills of modelling real life problem solutions (algorithmns) and their implementation on the computer using Object-oriented analysis and design techniques (as embodied in the Unified Modelling language) and programming with classes and objects. The course will also focus on Java as a programming language both from the object-oriented and imperative perpectives hence treating such conepts as variable assignment, arithmetic and logical operators, control flow, file input/output and the design of algorithms in Java.


Class Objectives:

 

After a successful completion of this course, students should be able to do the following:

  1. Effectively browse and peruse the Java class library API;
  2. Effectively use the JDK toolkit as well as one of the free Java IDEs like BlueJ.
  3. Write and compile Java classes that use objects from other classes
  4. Understand the fundamental object oriented concepts such as classes, objects, inheritance, aggregation, composition, polymorphism, message passing.
  5. Understand and apply object principles such as abstraction, encapsulation, loose coupling and cohesion.
  6. Gain appreciation of some software engineering best practices such as coding styles, and code documentation
  7. Write simple but powerful programs which peruse existing objects from the class library, reading inputs from a file and writing output to a file

Outline of topics: