COLLEGE CATALOG DESCRIPTION :
This course introduces fundamental programming principles to beginners.
Emphasis is placed on algorithm development, structured programming techniques, flowcharting, coding, debugging and libraries.
It discusses programming concepts such as variables, conditionals, loops, functions, objects, and arrays.
Program output may include graphical elements with images, animation and visualization.
The course is designed as a place where many ideas and techniques can mix and is therefore appropriate for a wide audience that includes programmers, as well as people interested in graphical design or analytic fields (science, mathematics, economics, etc.).
OBJECTIVES:
Upon successful completion of this course, the student should be able to:
- Express mathematical expressions/computations in a modern programming language.
- Use variables to store results of computations.
- Understand the motivation and methodologies for using modularization in developing software.
- Use pre-defined, and develop user-defined, functions to modularize software.
- Develop code that implements selections in the execution path.
- Develop code that implements repetition in the execution path.
- Understand the purpose and nature of arrays (single- and multi-dimensional) for storing similar data that
can be accessed given a numeric index into the array(s).
- Understand the purpose and nature of classes and objects for the aggregation of data into a logical structure.
- Develop moderate scale programs utilizing the concepts stated above.
- Understand the Object-Oriented / Event-Driven approach to programming.
- Create user-defined "methods" and "event-handlers".
- Assign values to object properties and variables (local or form-level).
- Understand declarations, expression evaluation, scope, types, etc.
- Understand structured programming,
STUDENT REQUIREMENTS:
To successfully complete this course, you must submit required homeworks
and programming assignmentsts, and demonstrate proficiency on all exams
and projects. All work submitted must be neatly
presented clearly labeled and identified as to the assignment and what
has been accomplished.
-
TEXTBOOK:
-
"Introduction to JAVA Programming"
(10the Edition.)
by Y. Daniel Liang
[Pearson];
ISBN: 978-0-13-359220-7
|
-
-
READING ASSIGNMENTS:
-
Each student is responsible for all material taught or assigned by the instructor.
The student is expected to complete all assigned reading, prior to class meetings.
-
THE REPL WEBSITE:
-
Please use these links (or links on the class page) to join the "classroom" on
the
repl.it website
-
COMPUTER & INTERNET ACCESS:
-
Between classes, the student should have computer access to the internet,
to obtain assignments, submit homeworks and projects, etc.
(NOTE:
If you have ANY difficulty at all in obtaining internet access between classes
please see the instructor after class to remedy this difficulty.)
Although computer lab time may be scheduled each week during class time, students should be
aware that additional lab time outside of class will be necessary to complete the requirements of
this course. Students should plan to spend an additional 3 to 6 hours per week
using other computers.
-
MIS-USE OF CLASSROOM COMPUTER EQUIPMENT :
-
All computer equipment in classrooms and laboratories
is the property of the college,
and NOT intended for computer activites unrelated to the college curriculum
(such as games, entertainment, "instant messager", "surfing the web", etc.)
-
Use of classroom computers for unrelated activities may result in loss of privileges
and other disciplinary action
(including dis-enrollment).
-
CODING STANDARDS & CODE REVIEWS:
-
This is a course in computer progamming,
i.e. the development of software "code"
that has two audiences:
- computers, which must compile and execute the code, and
- human programmers, who must read and understand the code
(e.g. in order to debug or modify it).
Therefore,
good programming practice
depends not only upon how the computer processes the code,
but also upon the ability of other programmers to read and understand the code
(perhaps in order to debug or modify it).
For coding assignments,
grading will be based not only on
whether the code compiles correctly and performs the assigned tasks,
but also upon
its organization, clarity,
and -- most of all -- "readability".
These and other aspects of
programming practices,
as well as adherance to
"coding standards"
(to ensure testability, maintainability, etc.)
will be introduced and discussed in the textbook and in class.
|
"Any fool can write code that a computer can understand.
Good programmers write code that humans can understand."
|
|
-
CODE REVIEWS:
-
One technique that is very effective in promting good software is the "code review"
wherein several programmers examine and critique software code that is being developed by some or all of them.
During this process,
while there may be criticism of specific lines of code,
it must always be "constructive criticism"
and never employed to blame or disparage the author(s) of the code under review.
Remember that computer source code is not some sort of "private communication" only with the computer,
kept secret from others.
Instead, source code should be thought of as intended for "publication",
meant for the eyes of others of humans!
In a code review, colleagues often examine a "rough draft" or a "work in progress"
in order to help with problems, make suggestions, etc.
-- and perhaps also to learn something new.
COURSE POLICIES:
-
ATTENDANCE POLICY:
Attention is directed to the following statement of college policy.
"The
college expects that each student will exercise personal
responsibility with regard to class attendance. All students are
expected to attend every class session of each course for which they
are registered. Students are responsible for all that transpires in
class whether or not they are in attendance."
Consequently, each
student in this course is strongly advised to make standing
arrangements with another individual student to take detailed notes,
collect handouts, relay announcements, etc., in the event 'e doesn't
show up at class. While you are encouraged to contact the instructor
for advice before (or after) missing a class, it is more effective to
have your "buddy" take detailed notes, and the student
remains responsible for "all that transpires in class".
Find a "buddy" to cover for you!
Do it now, not after missing a class.
This instructor does
not give credit for mere attendance, nor is credit lost for absence.
Attendance is not a direct factor in grading policy,
but it may indirectly affect the "participation" component.
College
policy defines "Excessive Absence or Lateness" as
"more than the equivalent of one week of class meetings".
While attendance is not a component of grading policy for this class,
a student missing more than one week of consecutive classes - without
making any contact with the instructor - may be removed from the
class roster and given either a "W" or an "F" grade,
at the instuctor's option.
-
CODE OF CONDUCT:
*** Please take note ***
SCCC STUDENT CODE OF CONDUCT
... Although
not all-inclusive, the following actions, activities or behaviors
are expressly prohibited:
"Unauthorized or illegal use of College computer facilities
or equipment, such as hacking; duplication or unauthorized use of
copyrighted software; destruction, unauthorized transfer or
alteration of files; unauthorized use of another individual's
identification, password or work."
Any
student guilty of the above may receive a failing grade in that
class, be dismissed from class
and/or
be referred to the Dean of Students for further discipline
proceedings.
|
|