You are on page 1of 5

Fall 2022

CPSC 1150_002: Program Design


Course Format: Lecture 4.0 h + Seminar 0.0 h + Lab. 2.0 h
Credits: 3 Transfer Credit: For information, visit bctransferguide.ca
Course Description:
Program design entails building and implementing an algorithm in a programming language
(such as Java) using good software development principles. Students develop problem-solving
techniques while learning the basics of algorithm development, procedural abstraction, and data
representation.
Students will receive credit for only one of CPSC 1150 or 1155.
Prerequisites, and Co-requisites:
One of the following: MDT 85; a minimum "B" grade in Precalculus 12; one of MATH 1171,
1173/1183, 1174; a minimum "C" grade in one of CPSC 1040 or 1045; or a minimum "B" grade
in CPSC 1050.
Learning Outcomes:
Upon successful completion of this course, the student will be able to:
 Represent data in various numbering systems
 Design and develop an algorithm for a given problem
 Utilize appropriate control structures and variables (including arrays) to implement a
solution
 Use procedural abstraction to implement structured programs
 Trace, debug and test the correctness of code
 Find and use appropriate libraries, resources and documentation
 Write maintainable code in the current standard coding style of the programming
language,
 including internal and external documentation
 Describe given searching and sorting algorithms including their time complexity
 Trace recursive functions

A good programmer spends 80% of his/her time on planning, analysis and design, and 20%
on coding, testing, and debugging. Remember a great finish starts with a good beginning.

Instructor: Hossein Darbandi


Email: hdarbandi@langara.ca
Office: B019n
Office Hours: 9:00 – 10:15 on Monday, Tuesday, and Thursday
Website & Schedules & Office Hours: mylinux.langara.bc.ca/~hdarbandi
TA: TBA
Email: TBA
Textbook and Course Materials:
Introduction to Java Programming (Brief Version), 11/E, Y. Daniel Liang, Prentice Hall

For textbook information, visit:


https://mycampusstore.langara.bc.ca/buy_courselisting.asp?selTerm=3|8

Note: This course may use an electronic (online) instructional resource that is located outside of
Canada for mandatory graded class work. You may be required to enter personal information,
such as your name and email address, to log in to this resource. This means that your personal
information could be stored on servers located outside of Canada and may be accessed by U.S.
authorities, subject to federal laws.

Assessments and Weighting:


· Labs/Assignments 25%
· Quizzes (online & paper based) 10%
· Midterms (2) 30%
· Final Exam 35%
Lecture Schedule:
DAY TIME PLACE DURATION
Lecture -T-R- 10:30 – 12:20 A274 2 Hours
Lab M---- 10:30 – 12:20 B015 2 -hours

Grading:

Letter Grade Overall Average


A+ 90 - 100
A 85 – 89
A- 80 – 84
+
B 76 – 79
B 72 – 75
-
B 68 – 71
C+ 64 – 67
C 60 – 63
-
C 55 - 59
D 50 - 54
F less than 50%

In order to get a C or higher in a computer science course, a student must achieve at least an
average of 50% in the exam component of the course.

Page 2 of 5
Notes:
1. Throughout the course, primarily in lecture, will be activities to complete. These will include,
but are not limited to completing exercises, attending lecture/lab on time, and other activities
assigned by your instructor. At the end of the semester you will receive ±3% to your final grade
based on your participation in the course. Your participation will never be graded on
correctness, just whether you put effort into the activity.
2. Students without keyboarding or Windows experience, or are unable to type will be at a
considerable disadvantage in this course. Students who are lacking in these areas will be
expected to become proficient by practicing outside of class time during the first two weeks of
classes.
Tentative Course Schedule:
Note that the order may be modified as required.
Week of Lecture Topics Quiz Lab Assignments
Sep 6 Course Outline No quiz No lab
Introduction to Hard & Software, flowchart
Sep 12 Java No quiz Lab 0A: flowchart
Operations Lab 0B: Compiling and
running java programs
Sep 19 System of Numbers Lab 1: Java &
Control Structures Quiz 1 Programming
Sep 26 Control structure (continue) Quiz 2 Lab 2: If-else Structure
Programming Style
Algorithm: Pseudo Code
Oct 3 enum Quiz 3 Lab 3: Loop
Java Methods
Oct 10 Midterm 1 Quiz 4 Lab 4: Java Methods
Scope of Variables
Oct 17 IO Quiz 5 Lab 5: Java Methods &
2's Complement Algorithms
More Java Methods & Algorithms
Oct 24 Arrays Quiz 6 Lab 6: Ciphering
Pass by Value Program.
Pass by reference
Oct 31 String Quiz 7 Lab 7: Arrays
Input/Output & Formatting Output

Page 3 of 5
Nov 7 Midterm 2 Quiz 8 Lab 8: Arrays, Strings,
Searching & Sorting and formatting output
Nov 14 File I/O Quiz 9 Lab 9: Array of Strings
Nov 21 2D Arrays Quiz 10 Lab 10: Text file I/O
Recursion
Nov 28 Review Quiz 11 Lab 11: 2D Arrays

Dec 2 Quiz12
December Final exam

The schedule is flexible; various topics may or may not be given on the dates shown above.
All the dates (including the dates for the midterms) are subject to change.

As a student at Langara, you are responsible for familiarizing yourself and complying with the
following policies:
College Policies:
E1003 - Student Code of Conduct

F1004 - Academic Conduct (Plagiarism)

E2008 - Academic Standing – Academic Probation and Academic Suspension

E2006 – Appeal of Final Grade

F1002 - Concerns About Instruction

E2011 - Withdrawal from Courses and Deferred Standing

Page 4 of 5
Departmental Policies:
See http://langara.ca/programs-and-courses/courses/CPSC/

Course Policies:
Attendance: To do well in this course, you need to attend promptly and regularly, and you are
responsible for all materials covered in any classes or labs. You are responsible for completing
any missed activities. I also advise you to ask your classmate to teach you the work we did; this
benefits both of you. Normally a score of zero will be given for missed exams, labs, tests, etc.
Makeup exams will not be permitted, except in circumstances of serious, well-documented
illness or injury, or the death of a close family member.
D2L Brightspace: We will use D2L as a repository for course handouts, lab and assignment
submissions, and for links to supplementary materials. You will find help at
https://iweb.langara.ca/lts/
Assignments and Due Dates: You will be given a variety of assignments and lab assignments.
Assignments are designed to be completed in one or two scheduled lab sessions. Any
additional time required will have to be done at home. Everyone is required to obtain a
satisfactory lab mark.
Students should submit their assignments on or before the announced due time and date. For
late submission there will be 1% deduction for every hour late from the assignment. Late
Assignments can only be submitted to D2L up to 48 hours after the due date. A late assignment
that is more than 48 hours late will not be marked.
You may make up missed tests and arrange for extensions if you have a valid, documented
absence.

Plagiarism is not tolerated under any circumstances.


 Plagiarism is falsely presenting another person’s work or ideas as your own,
using another person’s work including any source available in the Internet or
ideas without acknowledging the source of the material, or allowing another
person to do the same with your work.
 You are encouraged to discuss concepts with classmates, but the work that you submit
must be your own. I recommend that if you are discussing an assignment with someone,
do not write/type anything about it for an hour after talking.
Any plagiarized work automatically receives a grade of zero and is referred to the Office of
Student Conduct and Judicial Affairs, which could result in a failing grade for the course, or the
student being suspended or expelled from the College. This excerpt on Plagiarism was
borrowed from Jeremy Hilliker’s Course Outline.

Page 5 of 5

You might also like