CS151 - Introduction to Computer Science I (Winter
2016)
Course Objectives
This course covers the
fundamentals of computer systems and software development and is the starting
point for computer science majors and minors. It is a required course for programs
such as mathematics, and is a good choice for any science, engineering or
business student. It will also
appeal to students with an interest in learning computer programming.
Computer Requirement
The course uses Oracle’s
Java Software Development Kit (SDK) and the BlueJ integrated development
environment (IDE). These are
installed in the lab (Cass 104) and at a number of locations around
campus. The software is available
for Windows, OS X and Linux platforms and can be downloaded free of charge. The
lab instructor will give further instruction during the first lab. Information about the campus wireless
service can be found at www.upei.ca/itss/panthernet.
To take this course, a
student should have a personal computer which can be used to accomplish
assignments. Although University does have computer labs, a student's personal
computer is still highly recommended for this course. The required software
packages are installed in some labs in campus, but these labs may not be always
available when needed.
This computer can be
either a laptop or a desktop (tablets are not recommended) and can run on
Windows, OS X, or Linux Operating Systems.
A student may take this
course without such a computer, but the University and the Instructor are not
responsible to provide such environment for his/her course work. The course
evaluation will not be altered because a student does not have such computer.
Course Information
- Lab Instructor: Chris Vessey
- Lectures
- Prerequisite
- Grade
XII academic Mathematics
- Textbook:
- Lewis
& Loftus, Java Software Solutions: Foundations of Program Design, 8th
edition, Pearson Education Inc., ISBN-10: 0-13-359495-5; ISBN-13:
978-0-13-359495-9.
Evaluation
- Assignments
24%
- Pop
quizzes: 6%
- Labs: 10%
- Midterm 25%
- Final exam 35%
- To pass the course,
students must pass the tests portion of the course (pop quizzes + midterm
+ final exam).
- “Pop quizzes” are
unscheduled and unannounced and are approximately 5-10 minutes in
duration. Their purpose is: to
monitor class attendance, to encourage students to keep pace, and to
solicit feedback.
- The midterm will be held
within the last two weeks of February during regularly scheduled class
time (the exact date will be announced well in advance).
- Programming assignments
are considered to be a vital and integral part of the course. Unless
otherwise stated, assignments are to be completed individually.
- Assignments are submitted
through Moodle. Late assignments will not be
accepted. Assignment evaluation turnaround time is about 2 weeks.
Labs
- Labs are compulsory and
provide hands-on practice with programming problems under the guidance of
the lab instructor.
- Unless authorized by the
lab instructor (under exceptional circumstances), students must attend the
lab in which they are enrolled.
- Labs are evaluated on a
4-point scale by the Lab Instructor:
- 0: Did not attend
- 1: Present but
unsatisfactory level of effort/performance
- 2: Modest effort and
achievement
- 3: Fully satisfactory
effort and achievement
Help Center
- The Department operates a
Help Centre in Cass 301 to provide one-on-one programming assistance with
weekly assignments. The schedule will be posted on Moodle
(and on the door of Cass 301).
Resources
- The “Moodle” course
management system (moodle.upei.ca) is used as a repository and
communication facility for lecture notes, lab material, assignments,
solutions, notices, and other course resources. Every student
should get familiar with Moodle and check it
often.
Academic Dishonesty
- This course is committed
to the principle of academic integrity as defined in UPEI’s Academic
Regulation 20 and the Department’s Academic Dishonesty policy. Although
students are encouraged to discuss assignment problems and help each
other, unless otherwise stated by the Instructor, an assignment submitted is
expected to reflect an individual effort. Copying or cheating on
assignments or tests will be dealt with harshly.
Topics
- Introduction
- Data and Expressions
- Using Classes and Objects
- Writing Classes
- Conditionals and Loops
- More Conditionals and
Loops
- Object-Oriented Design
- Arrays