Syllabus/Course Requirements CSCI 111
Programming and Algorithms I in Java
Prerequisite: One year high school algebra and strong computer skills or CSCI 101
Units: 3
Class Dates and Times:
Instructor: Anne Keuneke
Office Phone: (530) 898-5998
Textbook Required:Java Software Solutions, 5th (or 6th) Edition - either one is fine
Preferable Software to be Used:
Java Compiler: Most recent Java JDK: get it free from SUN
(netBeans, Eclipse, etc also have the SDK - these tools are optional)
Course Description:
Introduces the discipline of computer science, providing an overview of computer systems and their applications and an introduction to software design and programming, the software life-cycle, algorithms and their role in software design. Students will be expected to design, implement, and test a number of programs in Java.
Topics:
Goals: By the end of the course, the student will:
Laboratory Projects: Seven (7) program design
and implementation assignments. Each student must do their own lab; team work is only allowed for discussion purposes. Labs that are equivalent in content will be given 0's and could result with an F in the course. CSUC's Academic Honesty policy.
Grade Evaluation Procedures:
Note: Failure in either the examination component or the programming component
will result in failure in the course.
email: amk@ecst.csuchico.edu
WWW Homepage: http://www.ecst.csuchico.edu/~amk
FAX: (530) 898-5995
Lewis and Loftus,
Addison Wesley, 2009 (ISBN: 0-321-40949-3, ISBN-10: 0321532058, ISBN-13: 9780321532053)
3 hours discussion. 1 hour activity.
Introduction of software engineering principles
Modularity, Encapsulation, Information hiding
Abstract data types (ADTs)
Object-oriented design
Introduction to Java programming
Data types and expressions
Classes
Methods and their parameters
Selections/decisions, repetitions, and arrays be able to exhibit a disciplined approach to problem solving,
algorithm development, and object-oriented program design
be able to write Java code with good style
be able to write readable, useful documentation to accompany programs
be comfortable with the software life-cycle
50% Assignments
25% MidTerm Exam
25% Final Exam