0% found this document useful (0 votes)
51 views8 pages

COSC 111 syllabus

Uploaded by

jogoil502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views8 pages

COSC 111 syllabus

Uploaded by

jogoil502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

© Dr. Abdallah Mohamed.

Not to be copied, used, or revised without express written permission from the copyright owner

COSC 111-001: Computer Programming I


2024S Term 1

Instructor Dr. Abdallah Mohamed


abdallah.mohamed@ubc.ca (must include course code COSC111 and your student ID in email)
Office hours T/W 10:50-11:20 OR by appointment, SCI-200B
Lectures 001 T/W/F 08:30-10:50 L317 (in-person)
Labs L01 T/R 17:30-19:30 SCI234 TA: Mohammadreza Saeidi
L03 T/R 12:00-14:00 SCI234 TA: Dina El-Kholy
TA’s can be contacted on Canvas.

Course Description
Academic Calendar Entry: 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. [3-2-0]

Prerequisites: A score of 70% of higher in one of Math 125, Math 12, Prec 12.
Students who lack the prerequisites should not be registered for this course and will receive a failing grade if they rem
ain in it. Any exceptions must be brought to the attention of the instructor immediately.
Learning Outcomes: Upon successful completion of this course, students will be able to:
• Algorithmic Problem Solving: design, develop, and analyze algorithms to solve basic programming problems.
• Programming Fundamentals: demonstrate proficiency in using data types, arrays, operators, and expressions.
• Programming Logic: implement basic programming logic using conditionals, decisions, and loops.
• Modular Programming: effectively employ methods (functions) to modularize programs.
• Object-Oriented Programming: apply basic object-oriented programing aspects.
• Testing and Debugging: identify and fix different types of errors in computer programs.

Assessment
• Lecture quizzes 7 % (Using clickers. Full mark for correctly answering 80% of all questions)
• Lab work:
o In-lab Exercises 7%
o Assignments 16 %
• Exams
o Two Midterms 30 % (80 minutes each, in-person during scheduled lecture time)
o Final 40 % (150 minutes, cumulative, in-person)
Passing criteria: to pass the course, a student must receive: (1) an overall course grade of at least 50%, and
(2) at least 50% on weighted sum of all exams (midterms and final). Failure to do so will result in a 45% grade,
or the resulting grade, whichever is the lower. Students will not be able to receive a passing grade if they are
not registered to the required lab section.
Final Grade: Final grades will be based on the evaluations listed above, and the final grade will be assigned
according to the standardized grading system outlined in the UBC Okanagan Calendar.
Grievances and Complaints: A student who has a complaint related to this course should follow this
procedure: The student should attempt to resolve the matter with the instructor first. Students may talk first
to someone other than the instructor if they do not feel, for whatever reason, that they can directly approach
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

the instructor. If the complaint is not resolved to the student's satisfaction, the student should e-mail the
Associate Head, Dr. Abdallah Mohamed, at abdallah.mohamed@ubc.ca or the Department Head Dr. Sylvie
Desjardins, cmps.depthead@ubc.ca

Missed/Late Graded Work


Missed exams: If a student misses an exam without acceptable excuse according the UBC Okanagan's policy
on excused absences from examinations, the mark received will be zero. If an acceptable excuse is provided
to the instructor, then for:
• Midterm exams, the grade will be combined with the marks of the final exam so that the exams are still
worth 70 % of the total grade.
• Final exam, the student may take a make-up final exam with the permission of the Dean’s office. Note
that a make-up exam may have a question format different from the regular exam.
Late assignments: Except for extreme situations (e.g., illness, childbirth, or bereavement supported by a
written proof such as a doctor’s note), the following policy is applied to late assignments:
• 0 to 24 hours late: 25% mark deduction (e.g., if an assignment is worth 20 marks, then 5 marks will be
deducted regardless of the mark you get in the assignment; no negative marks will be given).
• 24 to 48 hours late: 50% mark deduction
• More than 48 hours: no mark.
Missed lab exercises: Exercises can only be completed during lab time. If you miss an exercise, you will receive
a zero. However, if you have an acceptable excuse (e.g., sickness supported by a doctor’s note), speak to your
TA, who will assign a grade for the missed exercise based on the average of the nearest three exercises.
Missed clicker questions: no answers will be accepted except those provided during the lecture time using
your own clicker device (remember that you get full mark for answering at least 80% of the questions).
One-time Extension Policy
• Everyone can get a one-time extension for 2 days for any assignment of their choice. Use this extension
wisely as I will give no additional extensions unless in very very extreme situations (e.g. admission to
hospital, death in family). If you used this extension then asked for another one due to having too many
exams/assignments, travelling, etc. you will not get a second extension.
• This policy only applies to assignments A1, A2, etc.. It does not apply to the last assignment.
• You do not have to ask for permission to use the 3-day extension. Just inform your TA directly (no need
to email the professor, but you must inform your TA)

Course Format
Lectures: This course is given in-person, i.e., all lectures are given in class as shown on page 1 of this syllabus.
Lecture Quizzes: We will have MCQs questions in almost every lecture:
- Questions displayed during the lecture, and they can only be answered using iClickers.
- Your iClicker responses will be counted towards your grade.
- Create an iClicker Cloud account using these Instructions: https://lthub.ubc.ca/guides/iclicker-cloud-
student-guide. Because the registration data is stored in the US, you can use a pseudonym name and
email address. However, you must link your iClicker account to Canvas.
- You can submit your responses through the web interface (must sign-in to your iClicker account) or
phone app (search for iClicker Reef on our play/app store). Whether you use the web interface or
phone app, you must “join” class on the clickers system after the class starts.
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Labs
• Labs will be offered in-person as indicated on page 1 of this syllabus.
• A student must be registered in one lab for his/her assignments to be accepted.
Exams
• Platform: Exams will be held in-person: Midterms in the same classroom used for the lectures, during the
scheduled lecture times. Location for final exam will be announced later.
• Scope: Exam will focus on material discussed in the lectures. Only language accepted for coding in the
exams is Java.
• Format: The examinations in this course are all closed-book, so you are NOT permitted to access any of
the course materials, including your notes, during the exam. You are also NOT to communicate with
anyone about the exam during the scheduled write time or after the examination – you are to work
independently. Communication with other students (written, text, verbal, etc.) is not permitted and will
constitute Academic Misconduct.

Expectations
It is my best day when all my students pass the course, receive good grades, and feel the course was useful.
For that to happen, help me by putting enough effort for the course. 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 (in average) at
least 7 hours per week in out-of-class relevant activities (homework, preparation, practicing).

Textbook and Reference Materials


• Course website and discussion forum on Canvas, Lecture Notes (available electronically).
• Recommended Textbook: Y. D. Liang, Intro to Java Programming and Data Structures, 12th Edition, ISBN:
9780136519355, 2020 (Earlier/Newer editions are ok).
- You can order a physical copy online, e.g., from Pearson website, Amazon, etc.
- eBook format can be obtained through the UBC bookstore (https://bookstore.ubc.ca/students )
or VitalSource (https://www.vitalsource.com)
- This book has supplement materials
- Companion website (answers to review questions, some programming exercises, etc):
https://media.pearsoncmg.com/bc/abp/cs-resources/products/series.html#series,series=Liang
• Additional resources/textbooks:
- (free, online): David J. Eck, Introduction to Programming Using Java, Sixth Edition, available at
http://math.hws.edu/javanotes/
- P. Deitel and H. Deitel , Java How To Program (late objects) (10th Edition), ISBN: 0132575655,
2014
- Many websites provide coding activities for fun. Here are two examples: codewars.com,
codingame.com. note that I am not affiliated with any of the two websites. Also, note that not
some of the questions on these websites are not covered in the course.

Course URL https://canvas.ubc.ca


https://people.ok.ubc.ca/abdalmoh/teaching/111
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Supplemental Learning (SL)


This course may come with SL sessions. SL is an academic enhancement program designed to help students match
what they are learning in class with how to best engage with and study that information. SL should provide
additional support for students outside of class time. More information about SL program will be given during class
time and can be found on: https://students.ok.ubc.ca/academic-success/learning-hub/supplemental-learning/

Important Dates
http://www.calendar.ubc.ca/okanagan

Course Schedule (tentative)


The course schedule contains the most up-to-date information and important dates for main events such as
assignments due dates and tests. Note that these dates and topics are subject to change. Any such change
will be announced to students.
Lab Exercises: In almost every lab, you will start by practicing on easy exercises related to what we covered in the
lecture. Marks for those exercises are given based on the effort (i.e. the fact that you attend the lab and try). If you
have a bug in your code or something is not clear to you, ask your TA or peers. The solutions will eventually be given to
you in the lab. You should attempt all exercises during the lab time, but you do not have to submit anything to Canvas;
just show your work to your TA. Remember, marks are based on the effort. The aim is for you to practice on simple
questions before attempting the assignment. Exercises are denoted E1, E2, etc. in the schedule below.
Assignments: In addition to lab exercises, you should also work on a new assignment in almost every lab.
Solutions for these assignments are not given to you. Instead, you should submit your solution to Canvas
before the due date. Marks are given based on the correctness of the solution as well as the structure and
formatting of your code. The aim is to evaluate your work and help you to learn (based on the feedback you
receive from the TA). Assignment and exercise questions are carefully designed to prepare you to exams.
Assignments are denoted A1, A2, etc. in the schedule below.

NO GROUP WORK IS ALLOWED: 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! Please note that we use special software to detect plagiarism within all submitted code.
The only two excepts to this policy are: 1) Lab Exercises E1, E2, etc., and 2) Lecture clickers. For both, feel
free to discuss with others.

No AI-Generated Lab Solutions: The use of artificial intelligence (AI) assistance for any assessed portions of
this course is not permitted and will be considered plagiarism if detected. I understand that AI tools can be
powerful and tempting, offering quick solutions to complex problems. However, the lab work in this course is
designed to serve a purpose beyond mere evaluation! It provides you with hands-on experience and an
opportunity to apply the concepts you just learned in lectures, leading to improved programming skills and
problem-solving abilities.

DUE DATES: The due dates of the assignments are usually one or two weeks from YOUR LAB day. All due
dates are at 11:59 pm. The due dates are written in the schedule below in the form: “due in Wn”, where W
stands for “week” and n is the week number. For example, A1 is “due in W3” means that A1 is due in the
third week, which is one week after YOUR lab section at 11:59 pm. There are some exceptions where one
specific due date is given for all students as shown below.
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Suggested

Lectur
Week Topics Readings Lab Work

e
Based on 12th Ed.
L1 Course overview, Computers’ HW and SW Sect. 1.1-1.8, 1.12 Tue:
First Java Program (printing on the console) First lab cancelled
L2 Programming errors, Software Dev. Process Sect. 1.10, 2.4-
W1 More about Java
data types, variables
2.10
, 2.17
Thu: Basics:
E1: no need to submit
May 14, 15, 17 L3 Reading input from keyboard, constants Chapter 2 A1: due May 23
Operators: arithmetic, Numeric conversion
L4 Formatting output (printf), Predefined classes: Sect. 4.1-4.3,4.6
Math, Character
L5 Predefined classes: String Sect. 4.4 Tue: Variables, data, and I/O:
L6 Intro to control statements Chapter 3 E2: no need to submit
W2 Operators: Relational & Logical, Truth tables A2: due May 26
Selection: ‘if’
May 21, 22, 24 L7 Selection: ‘switch’, conditional expression Chapter 3 Thu: Operators and printf:
Operator precedence E3: no need to submit
L8 Loops: ‘while’, ‘do-while’ Chapter 5 A3: due May 30
L9 Loops: ‘for’, Nested loops, ‘break’ and ‘continue’ Chapter 5 Tue: Selection:
E4: no need to submit
L12 Intro to Methods Chapter 6 A4: due June 2
W3 Revision for Midterm #1
May 28, 29, 31 Thu: Loops:
Midterm Exam #1, in-class MAY 31 @9:00 am E5: no need to submit
(“L7: operator precedence” is last topic A5: due June 6
included)
L13 Methods overloading, Variable Scope, call stacks Chapter 6 Tue:
Debugging in Eclipse Midterm #1 review with TAs
W4 L14 1D Arrays, Loops: for-each Chapter 7
Thu: Methods:
June 4, 5, 7 L15 Primitive vs. reference types Chapter 7 E6: no need to submit
Arrays and methods, Predefined class: Arrays
A6: due June 13
L16 Practice
L17 Multidimensional arrays Chapter 8 Tue: 1D arrays:
L18 OOP – part A (intro) Sect. 9.1-9.6 E7: no need to submit
W5 L21 OOP – part B (constructors, garbage collection, Sect. 9.7-9.9 A7: due June 16
visibility modifiers, encapsulation, ‘this’)
June 11, 12, 14 Revision for Midterm Exam #2 Thu: n-D arrays:
Midterm Exam #2, in-class. JUNE 14 @9:00 am E8: no need to submit
(“L15: 1D Arrays” is last topic included) A8: due June 19
L22 OOP – part C (‘static’, passing Objects to Sect. 9.10, 9.11, Tue: OOP:
methods, array of objects) 9.13, 9.14 E9: no need to submit
L23 Inheritance (tentative) Sect. 11.1-11.6 A9: no need to submit (only used for
W6 L24 Final Revision practice) – TAs will solve them with
you during this and next lab.
June 18, 19
Thu:
Midterm #2 review with TAs +
general revision.
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Other Course Policies


Academic Integrity: 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. The use of artificial intelligence (AI) assistance for any assessed portions of this course is not
permitted. A more detailed description of academic integrity, including the University’s policies and
procedures, may be found in the Academic Calendar at:
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,54,111,0
Cooperation vs. Cheating: Working with others on assignments is a good way to learn the material and we
encourage it. However, there are limits to the degree of cooperation that we will permit. Any level of
cooperation beyond what is permitted is considered cheating. When working on programming assignments,
you must work only with others whose understanding of the material is approximately equal to yours. In this
situation, working together to find a good approach for solving a programming problem is cooperation;
listening while someone dictates a solution is cheating. You must limit collaboration to a high-level discussion
of solution strategies, and stop short of actually writing down a group answer. Anything that you hand in,
whether it is a written problem or a computer program, must be written by you, from scratch, in your own
words/code. If you base your solution on any other written solution, you are cheating. If you provide your
solution for others to use, you are also cheating.
Class time: Lectures will involve, besides explaining course materials, working on design examples and in class
exercises. Class attendance and taking notes are expected, and students are responsible for all material
covered in class. You are also expected to respect the other members of the class as well as the instructor.
Inappropriate class behavior is not allowed (e.g., talking on cell phones, engaging in non-class activities,
sleeping, using disrespectful language, etc.).
Final Examinations: You can find the Senate-approved term and examination dates here. Except in the case
of examination clashes and hardships (three or more formal examinations scheduled within a 27-hour
period) or unforeseen events, students will be permitted to apply for out-of-time final examinations only if
they are representing the University, the province, or the country in a competition or performance; serving
in the Canadian military; observing a religious rite; working to support themselves or their family; or caring
for a family member. Unforeseen events include (but may not be limited to) the following: ill health or
other personal challenges that arise during a term and changes in the requirements of an ongoing job.
Further information on Academic Concession can be found under Policies and Regulation in the Okanagan
Academic Calendar http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,48,0,0
Grading Practices: Faculties, departments, and schools reserve the right to scale grades in order to maintain
equity among sections and conformity to University, faculty, department, or school norms. Students should
therefore note that an unofficial grade given by an instructor might be changed by the faculty, department,
or school. Grades are not official until they appear on a student’s academic record:
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,41,90,1014
Faculties, departments, and schools reserve the right to scale grades in order to maintain equity among
sections and conformity to university, faculty, department, or school norms. Students should therefore note
that an unofficial grade given by an instructor might be changed by the faculty, department, or school.
Grades are not official until they appear on a student's academic record.
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,41,90,1014
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Resources to Support Student Success:


UBC Okanagan Disability Resource Centre: The DRC facilitates disability-related accommodations and
programming initiatives to remove barriers for students with disabilities and ongoing medical conditions. If you
require academic accommodations to achieve the objectives of a course please contact the DRC at:
UNC 215 250.807.8053
Email: drc.questions@ubc.ca
Web: www.students.ok.ubc.ca/drc
UBC Okanagan Equity and Inclusion Office: Through leadership, vision, and collaborative action, the Equity &
Inclusion Office (EIO) develops action strategies in support of efforts to embed equity and inclusion in the daily
operations across the campus. The EIO provides education and training from cultivating respectful, inclusive spaces
and communities to understanding unconscious/implicit bias and its operation within in campus environments. UBC
Policy 3 prohibits discrimination and harassment on the basis of BC’s Human Rights Code. If you require assistance
related to an issue of equity, educational programs, discrimination or harassment please contact the EIO.
UNC 325H 250.807.9291
Email: equity.ubco@ubc.ca
Web: www.equity.ok.ubc.ca
Student Wellness: At UBC Okanagan health services to students are provided by Student Wellness. Nurses,
physicians and counsellors provide health care and counselling related to physical health, emotional/mental health
and sexual/reproductive health concerns. As well, health promotion, education and research activities are provided
to the campus community. If you require assistance with your health, please contact Student Wellness for more
information or to book an appointment.
UNC 337 250.807.9270
Email: healthwellness.okanagan@ubc.ca
Web: www.students.ok.ubc.ca/health-wellness
Office of the Ombudperson: The Office of the Ombudsperson for Students is an independent, confidential and
impartial resource to ensure students are treated fairly. The Ombuds Office helps students navigate campus-related
fairness concerns. They work with UBC community members individually and at the systemic level to ensure students
are treated fairly and can learn, work and live in a fair, equitable and respectful environment. Ombuds helps students
gain clarity on UBC policies and procedures, explore options, identify next steps, recommend resources, plan
strategies and receive objective feedback to promote constructive problem solving. If you require assistance, please
feel free to reach out for more information or to arrange an appointment.
UNC 328 250.807.9818
Email: ombuds.office.ok@ubc.ca
Web: www.ombudsoffice.ubc.ca
Student Learning Hub: The Student Learning Hub is your go-to resource for free math, science, writing, and
language learning support. The Hub welcomes undergraduate students from all disciplines and year levels to access a
range of supports that include tutoring in math, sciences, languages, and writing, as well as help with study skills and
learning strategies. Students are encouraged to visit often and early to build the skills, strategies and behaviors that
are essential to being a confident and independent learner. For more information, please visit the Hub’s website.
LIB 237 250.807.8491
Email: learning.hub@ubc.ca
Web: www.students.ok.ubc.ca/slh
The Global Engagement Office: The Global Engagement Office provides advising and resources to assist
International students in navigating immigration, health insurance, and settlement matters, as well as opportunities
for intercultural learning, and resources for Go Global experiences available to all UBC Okanagan students, and more.
Sexual Violence Prevention and Response Office (SVPRO): A safe and confidential place for UBC students, staff
and faculty who have experienced sexual violence regardless of when or where it took place. Just want to talk? We
are here to listen and help you explore your options. We can help you find a safe place to stay, explain your reporting
options (UBC or police), accompany you to the hospital, or support you with academic accommodations. You have
the right to choose what happens next. We support your decision, whatever you decide.
Visit svpro.ok.ubc.ca or call us at 250-807-9640
© Dr. Abdallah Mohamed. Not to be copied, used, or revised without express written permission from the copyright owner

Safewalk: Don’t want to walk alone at night? Not too sure how to get somewhere on campus? Call Safewalk at 250-
807-8076. For more information, see: www.security.ok.ubc.ca

Copyright Disclaimer
All materials of this course (course handouts, lecture slides, assessments, course readings, etc.) are the intellectual
property of the Course Instructor or licensed to be used in this course by the copyright owner. Redistribution of these
materials by any means without permission of the copyright holder(s) constitutes a breach of copyright and may lead
to academic discipline.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy