CSCI130_Apr2012 - Heartland Community College

advertisement
Heartland Community College
Master Course Syllabus
Division name: TECH
Course Prefix and number: CSCI 130
Course Title: Computer Science I
DATE PREPARED: January 1, 1999
DATE REVISED: March 21, 2012
PCS/CIP/ID NO: 1.1-110201
IAI Major Code: CS911
EFFECTIVE DATE OF FIRST CLASS: August, 2012
CREDIT HOURS: 4
CONTACT HOURS: 5
LECTURE HOURS: 3
LABORATORY HOURS: 2
CATALOG DESCRIPTION:
Prerequisite: CSCI 101 with a grade of C or better, and one of the following with a grade
of C or better or placement: TMAT 103, MATH 106, or MATH 109. Concurrent
enrollment in CSCI 115 is suggested. CSCI 130 is the first course in a sequence of
courses for majors in Computer Science. The course introduces a disciplined approach to
problem-solving and algorithm development in addition to an introduction to objectoriented programming and data abstraction. The following topics are covered: selection,
repetition, and sequence control structures; program design, testing, and good
programming style; high-level programming languages; abstract and primitive data types;
variable scope and access control; classes and objects; polymorphism and inheritance;
arrays, sorting and files.
TEXTBOOKS:
Lewis, J., Loftus W. (2009). Java Software Solutions (7th ed.). San Francisco, CA:
Addison Wesley.
or a comparable text that addresses at a minimum the topics listed in the Course Outline
and that provides students with the opportunity to achieve the learning outcomes for this
course.
RELATIONSHIP TO ACADEMIC DEVELOPMENT PROGRAMS AND
TRANSFERABILITY:
CSCI 130 fulfills 4 semester hours of elective credit for the A.A. and A.S. degrees. It
should transfer to most colleges and universities as an elective course. However, since
this course is not part of either the General Education Core Curriculum or a
baccalaureate major program described in the Illinois Articulation Initiative, students
should check with an academic advisor for information about its transferability to other
institutions.
Learning Outcomes:
Course Outcomes
1. Analyze objects and produce a
model by identifying appropriate
attributes, behaviors and
relationships, refactoring as
necessary.
2. Write, compile, run a simple
program and identify the major
components of the programs.
3. Differentiate between object
references and primitive data types,
and apply the appropriate data type.
4. Identify the anatomical components
of a class definition, and use an
existing class given its
documentation.
5. Use basic I/O to communicate with
the user to populate variables and
control program flow.
6. Use arithmetic, logical, relational,
and string manipulation expressions
to process data.
7. Write a complete class definition.
Within the class definition, write
class and instance methods
including the constructors.
8. Understand the limits of the scope
of instance variables, local
variables, and class variables.
9. Code necessary features of objectoriented languages, including proper
use of inheritance and
polymorphism.
10. Identify the algorithmic need for
selection, choose an appropriate
selection structure, and code the
structure.
General
Education
Outcomes
CT1
CT1
Range of
Assessment
Methods
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
PS1
PS2
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
PS3
Assignments,
Labs, &
Exams
CT2
Assignments,
Labs, &
Exams
11. Identify the algorithmic need for
repetition, choose an appropriate
repetition structure, and code the
structure.
12. Store data into arrays, including
multidimensional arrays, and
traverse those arrays to process the
data.
CT2
Assignments,
Labs, &
Exams
13. Implement a sort and/or search on a
PS1
one dimensional array of primitives.
14. Implement appropriate program
design using good programming
style.
Assignments,
Labs, &
Exams
PS2
Assignments,
Labs, &
Exams
Assignments,
Labs, &
Exams
COURSE/LAB OUTLINE:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Introduction to an object-oriented programming language
Structure of an object oriented language
Numeric variables (including a discussion on number bases) and constants
Statements, expressions, and operators
Classes and Objects
Methods
Scope of variables and access control
Inheritance and Polymorphism
Program Control
Arrays
METHOD OF EVALUATION (Tests/Exams, Grading System):
Exams/Assignments:
Assignments
Exams
Comprehensive Final
Total
%
50
20
30
100
ASSIGNMENTS: Each student will be expected to complete graded
programming assignments during the semester. These assignments allow the
student to demonstrate both their knowledge of the subject matter and the
integration of the problem solving strategies necessary for programming. The
assignments will also assist students in preparing for the exams. Each assignment
must include proper documentation and program code.
EXAMS: The Computer Science Department believes that the demonstration of
programming is absolutely necessary in order to assess a student’s
progress. Therefore the exams will require students to write code. The problems
used in exams will be representative of the problems presented in the assignments
and labs.
Grading Scale:
A
B
C
D
F
90% - 100%
80% - 89%
70% - 79%
60% - 69%
Below 60%
REQUIRED WRITING AND READING:
There are no research or writing assignments in this course. However,
documentation is an important part of computer programming. Therefore,
students will be expected to turn in complete, well-written documentation with
each of their programs. All programs are to include descriptive comments within
the source code. In addition, certain other documentation methods taught during
the course of the semester will be required.
Download