Essays
Topics
Writing Tool
Machine Learning AI
ChatGPT
US History
Presidents of the United States
Joseph Robinette Biden
Donald Trump
Barack Obama
US States
States Ranked by Size & Population
States Ranked by Date
IPL
>
Computer Science
>
cosc111-Summer2023.pdf
Cosc111-Summer2023
.pdf
School
University of British Columbia
*
*We aren't endorsed by this school
Course
COSC 111
Subject
Computer Science
Date
Dec 17, 2024
Pages
5
Uploaded by gamurrrr
© Jim Nastos 2023. Not to be copied, used, or revised without express written permission from the copyright owner
University of British Columbia Okanagan
COSC 111
–
Computer Programming I
COURSE OUTLINE
Winter Term 2
,
January
–
April 2019
Lecture Section 001
Classroom Schedule:
Lecture:
Mon + Thurs 8:30am
–
12noon
Lecture Location:
LIB317
Instructor:
Dr. James Nastos (I go by ‘Jim’)
Office:
ASC ??? (Shared)
Office Hours: Tues 11a-12noon + Thurs 12noon-1pm
E-mail:
jim.nastos@ubc.ca
Labs sections:
Lab L02
M+W 5:30p
–
7:30p
Location:
SCI 234
Lab TA: Mohamad Khajezade
Lab L03
T+R 12:00p
–
2:00p
Location:
SCI 234
Lab TA: Xiaoou (Ellen) Liu
Lab L04
W+F 10:00a
–
12:00p
Location:
SCI 234
Lab TA: Xiaoou (Ellen) Liu
Website:
Course material and communications will be available through UBC Canvas
Calendar description
:
Introduction to the design, implementation, and understanding of computer
programs. Topics include problem solving, algorithm design, and data and procedural abstraction, with
emphasis on the development of working programs. This course should be followed by COSC 121.
Prerequisites:
A score of 70% or higher in one of
PREC 12, MATH 12, MATH 125
.
Familiarity with
basic computer use is also recommended.
Please note that students who lack the prerequisites should
not be registered for this course and may receive a failing grade if they remain in it. Any exceptions
must be brought to the attention of the instructor immediately.
Learning Outcomes
:
•
understand, identify and use basic terminology used in computer programing.
•
design and develop strategies for solving basic programing problems.
•
identify and use different data types in a computer program.
•
use algorithmic expressions to manipulate data.
•
use arrays to store and process data.
•
design programs involving selection statements, loops, and methods.
•
identify different types of errors in Java programs.
•
use selected set of predefined Java classes.
•
write a simple program using Java objects.
•
use an IDE to write, execute, and debug programs.
Lecture Notes will be available in our UBC Canvas course shell.
iClickers:
© Jim Nastos 2023. Not to be copied, used, or revised without express written permission from the copyright owner
The iClicker app will be required.
Course Join Code:
https://join.iclicker.com/MLPH
Some iClicker questions will be survey/questionnaire style, worth 1 point for simply answering. Some
will be testing your understanding of what was just taught in class, which will be worth 2 points: 1 point
for answering and 1 point for getting the correct answer.
Required/Recommended Textbook:
Course materials are based on:
•
Y. D. Liang, Intro to Java Programming and Data Structures, 11th Edition, ISBN: 0134670949,
2017
•
Y. D. Liang, Intro to Java Programming: Comprehensive Version, 10th Ed., ISBN: 0133761312,
2014
•
Earlier editions are also ok.
•
Students are advised to look at supplement materials of the textbook. e.g., answers to review
questions, solutions to some programming exercises, and interactive quizzes:
http://wps.pearsoned.com/ecs_liang_ijp_10/
•
Optional: P. Deitel & H. Deitel, Java: How To Program (late objects) (10th Ed.), ISBN:
0132575655, 2014
•
Optional online (free) book: David J. Eck, Intro to Programming Using Java, Sixth Edition,
available here:
https://math.hws.edu/javanotes/
Lecture Material:
COSC 111 will cover the first 10 chapters of the Liang textbook, which includes topics including:
statements, loops, methods, arrays, classes and objects. The specific chapter subjects are:
1.
Introduction to Computers, Programs and Java
2.
Elementary Programming
3.
Selections
4.
Math Functions, Characters and Strings
5.
Loops
6.
Methods
7.
Single-Dimensional Arrays
8.
Multidimensional Arrays
9.
Objects and Classes
10.
Object-Oriented Thinking
Labs:
Almost every lab period, there will be one or two short lab
exercises
which you will complete in lab time
with your lab TA. Solutions to lab exercises will be provided in lab. Lab exercises must be completed in
lab time. Every lab exercise can earn 1 point of Assignment bonus. At the end of the course, if you have
any deducted assignment points, these exercise points can be used to fill the missing assignment points
(to a maximum of 100% for the assignment score).
© Jim Nastos 2023. Not to be copied, used, or revised without express written permission from the copyright owner
Assignments:
In addition to lab exercises, you will have a lab assignment (to be done individually) which you may or
may not be able to complete in lab time. Your TA can provide guidance for your support but will not
give solutions for these. Details on these assignments will be given to you as the course progresses.
Marks are given based on the
correctness
of the solution as well as the structure and formatting of your
code. The aim of the assignments is to evaluate your work as well as for you to learn (based on the
feedback you receive from the TA). Assignment and exercise questions will form the basis of several
examination questions.
In general, each lab assignment will be due by the end of the day of your next lab period. There are some
exceptions, as some of the later assignments might be longer 2-lab assignments. Except for certain
extreme situations (e.g., illness, childbirth, or bereavement supported by a written proof such as a
doctor’s note), the following policy is a
pplied to late assignments/project:
•
0 to 24 hours late: 60% mark deduction (e.g., if an assignment is worth 20 marks, then the
maximum that can be earned on it is 8/20).
•
More than 24 hours: no grade will be given.
Due to the accelerated nature of a summer course, falling behind by even a single lab assignment
will significantly affect your ability to keep up with the later material in the course.
CodingBat Assignment:
Once we get to Methods (Chapter 6), additional assignments will be available to you which will involve
completing exercises on CodingBat.com. This is a free website that supports in-browser Java
programming, and you can share your results with your instructor (instructions to come later).
Collaboration Policy:
You may work collaborative on your Lab Exercises, but NO GROUP WORK IS ALLOWED ON
YOUR ASSIGNMETNS.
For all lab work, you may talk with others about the given problems and
which parts of the course they are related to, but in all cases you must
write your own code and never
share your code
!
For clicker questions during lecture, you may discuss the questions on the screen with your neighbors,
as these are meant to serve as classroom discussion topics.
Midterm Exams:
There will be two in-class midterm quizzes:
Mon May 29, 2023
–
Midterm Quiz 1
–
This exam will encompass all lecture and lab materials covered.
Mon June 12, 2023
–
Midterm Quiz 2
–
This exam will encompass all lecture and lab materials focusing
on the material covered since the first midterm.
Evaluation:
The following weights will be used in determining the overall grade in the course
© Jim Nastos 2023. Not to be copied, used, or revised without express written permission from the copyright owner
Item
Date
Worth
Written Midterm 1
Mon May 29
10%
Written Midterm 2
Mon June 12
15%
iClickers
10%
CodingBat Assignment
10%
Gamification Practice Exercises
5%
Programming Assignments (Labs)
20%
Final Exam
TBA
30%
Notes:
•
In order to pass the course, a student must receive: (i) an overall course grade of at least 50%,
and (ii) a combined grade of at least 50% on the exams (midterms and final). Otherwise, the
student will be assigned a maximum mark of 45.
•
All exams (midterms and final) are paper-based, closed-book exams. A sheet of functions and
descriptions will be provided as a resource. No calculators, cell phones, laptops, or other
electronic devices are allowed during the exam time.
Expectations:
As a teacher, I want all my students pass the course, receive good grades, and feel the course was
useful. Help me realize these by putting enough effort into learning the course material.
Programming
is difficult. Learning a programming language requires the same amount of practice as learning
a new spoken language.
I expect that you will attend
all classes
and participate in class discussions,
read the lecture notes
before
the lecture, attend
all labs
, finish all your assignments on time, and
practice on the course materials. I also expect that you will spend (on average)
at least eight hours per
week
in out-of-class relevant activities (homework, preparation, practicing).
Academic Integrity and Misconduct:
The academic enterprise is founded on honesty, civility, and integrity. As members of this enterprise, all
students are expected to know, understand, and follow the codes of conduct regarding academic integrity.
At the most basic level, this means submitting only original work done by you and acknowledging all
sources of information or ideas and attributing them to others as required. This also means you should
not cheat, copy, or mislead others about what is your work. Violations of academic integrity (i.e.,
misconduct) lead to the breakdown of the academic enterprise, and therefore serious consequences arise
and harsh sanctions are imposed.
For example, incidences of plagiarism or cheating usually result in
a failing grade or mark of zero on the assignment or in the course.
Careful records are kept to monitor
and prevent recidivism. A more detailed description of academic integrity, including the policies and
procedures, may be found at
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,54,111,959
.
If
you have any questions about how academic integrity applies to this course, consult with the
instructor.
Disability Services:
© Jim Nastos 2023. Not to be copied, used, or revised without express written permission from the copyright owner
The Disability Resource Centre ensures educational equity for students with disabilities, injuries or
illness. If you are disabled, have an injury or illness and require academic accommodations to meet
the course objectives, please contact the Diversity Advisor for the Disability Resource Centre located
in the University Centre building (UNC 214).
UBC Okanagan Disability Resource Centre:
UNC 214
250.807.8053
email:
drc.questions@ubc.ca
Web:
http://students.ok.ubc.ca/drc
Ombuds Office:
The Ombuds Office offers independent, impartial, and confidential support to students in navigating
UBC policies, processes, and resources, as well as guidance in resolving concerns related to fairness.
UBC Okanagan Ombuds Office:
UNC 217
250.807.9818
email:
ombuds.office.ok@ubc.ca
Web:
https://ombudsoffice.ubc.ca/okanagan-campus/
Equity and Inclusion:
UBC Okanagan is a place where every student, staff and faculty member should be able to study and
work in an environment that is free from discrimination and harassment. UBC prohibits discrimination
and harassment on the basis of the following grounds: age, ancestry, colour, family status, marital
status, physical or mental disability, place of origin, political belief, race, religion, sex, sexual
orientation or unrelated criminal conviction. If you require assistance related to an issue of equity,
discrimination or harassment, please contact the Equity and Inclusion Office.
UBC Okanagan Equity and Inclusion Office:
UNC 216
250.807.9291
email:
equity.ubco@ubc.ca
Web:
http://equity.ok.ubc.ca
Important Dates:
http://www.calendar.ubc.ca/okanagan