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: 4
Class Dates and Times:
Instructor: Anne Keuneke
Teaching Assistant: none specified at this time
Office Hours: see http://www.ecst.csuchico.edu/~amk/foo/hours.html for current information
Office Phone: (530) 898-5998
email: akeuneke@csuchico.edu
WWW Homepage: http://www.ecst.csuchico.edu/~amk
FAX: (530) 898-5995
Textbook Optional:Java Software Solutions, 5th (or 6th) Edition - either one is fine
Lewis and Loftus,
Addison Wesley, 2009 (ISBN: 0-321-40949-3, ISBN-10: 0321532058, ISBN-13: 9780321532053)
Software to be Used:
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.
3 hours discussion. 2 hour activity.
Topics:
Goals: By the end of the course, the student will:
Laboratory Projects: This course contains about 30 small labs (2 each week).
Grade Evaluation Procedures:
Attendance:
Attendance is mandatory for all MW lecture days (One (1) arranged valid/documented excuse will be permitted).
Attendance is mandatory for (at least) the Wednesday hour of your lab period. Labs each week will be graded by demonstrating during the Wednesday hour of your lab period.
Obviously you should remain present until your lab is seen by the instructor.
Note also that lessons may depend on the acquired knowledge of previous lessons - so missing a lab or lesson is very dangerous!
If it is not a scheduled test day, Friday's are for your independent self-study with the Lessons and classes will not be held unless specified otherwise during class or on the web schedule
Course Schema
Introduction of software engineering principles
Modularity, Encapsulation, Information hiding
Abstract data types (ADTs)
Object-oriented design
Object-oriented design with patterns (e.g. MVC)
Introduction to Java programming
Use of class libraries - the Java API
Primitive Data Types, expressions and assignment statements
Classes
Methods and their parameters
Selections/decisions,
repetitions (loops)
arrays (1 and 2-D)
Eclipse as an IDE
unix and basic web html (showing applets and links) 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
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.
50% Lab
10% MidTerm I 50 questions (55 min.)
10% MidTerm II 50 questions (55 min.)
30% Final Exam 100 questions (110 min.)
Note: Failure in either the examination component or the programming component
will result in failure in the course.
Overall Test average will be reduced by 2% for each missing MW lecture day.
It is highly recommended that you attend class regularly.
If you are not present to demonstrate your lab, then your lab(s) will receive a 0 for that week. Each week's lab(s) are worth an average of 8 points of the 100 point total so each missed lab week could be a reduction of about 4% of your total grade!
No late labs, no extra credit, no excuses. If you have other commitments, do your labs ahead of time and demonstrate them the previous Friday!
Obviously test Friday's are mandatory