Introduction to Computer Science
To the Bottom of the
Page.
Instructor: Dr. Kong-Cheng Wong (Sections 1,2), Dr.
Shieu-Hong Lin (Section 3) Syllabus
Class Time: MW 10:30-11:45am (Section 1), 12:00-1:15pm (Section 2), 1:30-2:45pm (Section 3)
Location: LIB 141
· Dr Wong (Lim 136): MW 1:30-3:00pm TR 12:00-2:00pm
·
Dr Lin (Lim 137): MW
TR 3:00-5:00pm email to confirm an appointment in advance
TAs: Misheel Bayarsaikhan, Joy Cho, Steven Cauley, Charles Pederson
TA hours: Lim 182 (CS computer lab)
Tuesday Starting from Tuesday, Sept. 18 1:30-3:00 (Misheel) 3:00-4:00pm (Joy)
Wednesday
Starting from Wednesday, Sept. 19 3:00-4:00pm
(Misheel) 3:00-4:00pm
(Joy) 4:00-5:00pm (Steven)
*************************************************************************************************
About programming
assignments:
· Integrity rules and grading policies: Carefully read the descriptions here about the integrity rules and the grading rubrics.
· Self-evaluation report: Carefully read through the self-evaluation report, especially the integrity review, test cases, and the peer review.
· Submission of your work: For each programming assignment, (i) compress your entire Visual Studio project into a zip file and submit the zip file under Canvas and (ii) fill out the self-evaluation report and upload it under canvas
· The official C++ compiler used for grading: We use Visual C++ in Microsoft Visual Studio Community C++ 2017 Edition to compile your programs on the Windows platform and determine your grades based on the results under such settings. For Windows, click here to automatically download Microsoft Visual Studio Community 2017 Edition for free. After the download, click the downloaded executable to proceed with the installation. Make sure you (i) first select "Desktop development for C++" (instead of the "Universal Development …") and (ii) also check the option of "VC++ 2015 toolset" to install Visual C++ 2017. You may want to register your Visual Studio with Microsoft to continue to use it in the long run.
·
How to compile your C++ programs: Read this introduction to how
to compile your C++ programs and explore the sample Visual C++ project
folder compressed inside this zip file.
About the reading reports:
· Effort (2 points): How much time have you spent for the reading? What percentage of the contents in the reading do you think you understand? Have you come to the class this week? Assessment: The student is expected to (i) have attended the class this week at least once (0.5 point), and (ii) have either gained a good understanding of 80% or more of the contents or have spent at least three hours in the reading (1.5 points).
· Reflection on the reading (2 points): Put down 1~2 paragraphs of your thoughts such as notes of new insight you gained, interesting things encountered, questions of things you don’t understand, and so forth. Assessment: the student is expected to show substantial evidence of understanding or effort of trying to understand the contents in the reading.
*************************************************************************************************
Submission of all your work: go to Biola Canvas Your grades: see them under Biola Canvas
Late
policy:
·
The submission link remains open for 2 more days after the due date as a
grace period, but 1 point will be
deducted for late submission after the due date while the submission link is
still open.
·
You will receive no points after
the submission link on canvas is closed unless it is something like a serious health issue with statements
from the doctor as proof.
*************************************************************************************************
Week 1: What is a computer
program?
Reading #1:
Due: Wednesday, Sept. 12
Submit your reading report under Canvas
· Read Sections 1.1-1.6 of the textbook (9th Ed.) and try to understand this very simple C++ program.
· Read this introduction to how to compile your C++ programs.
· Reflect on what you have done in Lab #1 below. In your reading report, succinctly describe any technical problems you have encountered while doing Lab #1 below.
· Send in your reading report through Biola Canvas.
Lab #1 (First exposure to a very simple computer application program): Due: Wednesday, Sept. 12
Submit your lab report under Canvas
*************************************************************************************************
Week 2: Basics of variables, types, input/output, and the assignment operations
Reading #2: Reading report due: Wednesday, Sept. 19
· Read 2.1~2.9 and 2.12 (9th Ed.) of the textbook
· Send in your reading report through Biola Canvas.
Due: Wednesday, Sept. 19 (late penalty: deduction of 1 point;
submission closed by the end of Friday Sept. 21)
· Highlight: Using double variables and the assignment operator ' = ' for a temperature conversion program:
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 0. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 0. Then repeatedly compile, test, and debug your program until it works correctly. Also see how to compile your C++ programs.
· Submission: (i) Compress your entire Program 0 folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
Concepts about bits and bytes: the binary system and how the information is stored in modern computers.
*************************************************************************************************
Week 3: Arithmetic
operators and mathematical expressions
Reading #3: Reading report due: Wednesday, Sept. 26
· Required: Sections 2.13~2.17 and 3.2~3.3 (9th Ed.) of the textbook
· Optional: All the other sections in Chapter 2 and Chapter 3, especially 3.4~3.5, and 3.8~3.10 as long you have time to learn more.
· Send in your reading report through Biola Canvas.
Programming Assignment #1 Due: Wednesday, Sept. 26
· Highlight: Using int variables and the integer modulus operator ' % ' and more for a currency conversion program.
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 1. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 1. Then repeatedly compile, test, and debug your program until it works correctly. Also see how to compile your C++ programs.
· Submission: (i) Compress your entire Program 1 folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 4: Relational operators, logic expressions,
and if statements
Reading #4: due: Wednesday, Oct. 3
· Required: Sections 4.1~4.6 (9th Ed.) of the textbook
· Optional: All the other sections in Chapter 2 and Chapter 3, especially 2.16~2.17, 3.4~3.5, and 3.8~3.10 as long you have time to learn more.
· Send in your reading report through Biola Canvas.
Programming Assignment
#2 Due: Wednesday, Oct. 3
· Highlight: Using relational operators, logic expressions, and if/else statements for a payroll program.
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 2. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 2. Then repeatedly compile, test, and debug your program until it works correctly.
· Submission: (i) Compress your entire Program 2 folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 5: More on if/else
statements, logic expressions, and the Boolean type
Reading #5: due: Wednesday, Oct. 10
· Required: Sections 2.10, 4.7~4.12 (9th Ed.) of the textbook
· Optional: All the other sections in Chapter 4, especially 4.14~4.15 in addition if you want to learn more.
· Send in your reading report through Biola Canvas.
Programming Assignment #3 Due: Wednesday, Oct. 17; submission closed by the end of Oct. 17 too.
·
This assignment is harder and more tedious. You should start
as early as possible.
·
The
due date was extended from Oct 10 to Oct. 17 because of the Torrey conference.
· Highlight: Using relational operators, logic operators, logic expressions, and if/else statements for a date validation program.
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 3. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 3. Then repeatedly compile, test, and debug your program until it works correctly.
· Submission: (i) Compress your entire Program 3 folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 6: Basics of loops:
while, do while and for
loops
Reading #6: Reading report due: Wednesday, Oct. 17
· Required: Sections 5.1~5.10 (9th Ed.) of the textbook
· Send in your reading report through Biola Canvas.
*************************************************************************************************
Week 7: More about loops
Reading #7: Reading report due: Wednesday, Oct. 24
· Read Sections 4.14, 4.15, 5.11 (9th Ed.) of the textbook. Optional: Section 5.12
· Review Sections 5.1~5.10 (9th Ed.) of the textbook as needed
· Send in your reading report through Biola Canvas.
Programming Assignment #4A Due: Wednesday, Oct. 24
· Highlight: Using a while loop to implement an ATM-like service program.
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 4A. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 4A. Then repeatedly compile, test, and debug your program until it works correctly.
· Submission: (i) Compress your entire Program 4B folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 8: Review and
Written Test
Reading #8: Reading report due: Wednesday, Oct. 31
· Review all the earlier readings to prepare for the test
· Send in your reading report through Biola Canvas.
Programming Assignment #4B Due: Wednesday, Oct. 31
· Highlight: Using nested loops for finding prime numbers.
· Writing your program: On Windows, you can simply download this zip file of a sample project and extract it to get a sampleProject folder and rename the folder as Program 4B. Open up the project and replace the contents of main.cpp with your own C++ code for Programming 4B. Then repeatedly compile, test, and debug your program until it works correctly.
· Submission: (i) Compress your entire Program 4B folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
Midterm Written Test: Wednesday, Oct. 31:
· Open-book test in the class.
· Carefully review the check-point questions in the book covered by Reading #1 to #7. Some of the questions in the problem set will be similar.
· Also see some practice questions here.
*************************************************************************************************
Week 9: Basics of
functions
Reading #9: Reading report due: Wednesday Nov. 7
· Required: Sections 6.1~6.9 (9th of the textbook)
· Send in your reading report through Biola Canvas.
Programming Assignment #5A Due: Wednesday, Nov. 7
· Highlight: Defining and calling void functions.
· Submission: (i) Compress your entire Program 5A folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 10: More on
Functions
Reading #10: Reading report due: Wednesday, Nov. 14
· Read Sections 6.10~6.16 (9th of the textbook)
· Send in your reading report through Biola Canvas.
Programming Assignment #5B Due: Wednesday, Nov. 14 (open for submission till Nov. 19)
· Highlight: Redo the prime number processing program by defining and calling functions.
· Submission: (i) Compress your entire Program 5B folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 11: Basics of
Arrays
Reading #11: Reading report due: Wednesday, Nov. 21 (extended to Wednesday Nov. 28 without late penalty, submission link closed on Nov. 28)
· Read Sections 7.1~7.7 (9th of the textbook)
· Send in your reading report through Biola Canvas.
Programming Assignment #5C Due: Wednesday, Nov. 21 (extended to Wednesday Nov. 28 without late penalty, submission link closed on Nov. 28)
· Highlight: Redo the birthday program by defining and calling functions.
· Submission: (i) Compress your entire Program 5C folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Week 12: Searching
Arrays
Reading #12: Reading report due: Wednesday, Nov. 28
· Optional: Read Sections 7.7-7.11(optional if you have time) (9th of the textbook)
· Read Sections 8.1~8.2 (9th of the textbook)
· Send in your reading report through Biola Canvas.
Faith and Learning Integration Assignment on Creation and Computer Science due: Wednesday, Nov. 28
·
This assignment carries 5%
of the course weight and by all means you shall
not miss this assignment.
·
You should put down what you
have in the reflection process according to the requirement in the assignment.
· Submit your reflection report accordingly through Canvas.
*************************************************************************************************
Week 13: Sorting Arrays
Reading #13: Reading report due: Wednesday, Dec. 5.
· Read Sections 7.7 (required), 7.8-7.11(optional if you have time) (9th of the textbook)
· Read Sections 8.3~8.4 (9th of the textbook) on sorting
· Send in your reading report through Biola Canvas.
Programming Assignment #6A Due: Wednesday, Dec. 5.
· Highlight: Using files and an array for information processing.
· Submission: (i) Compress your entire Program 6A folder into a zip file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.
*************************************************************************************************
Weeks 14: Structures as
abstract data types | Searching and Sorting Arrays
Reading #14: Reading report due: Due: Wednesday, Dec. 12.
· Read Sections 11.1~11.6 (9th Ed.) of the textbook on the basics of structures as basic data types.
· Review Sections 8.3~8.4 on sorting and Section 5.11 on file input/output.
· Send in your reading report through Biola Canvas.
Programming
Assignment #6B Due: Wednesday, Dec. 12
·
Highlight: Using files
and an array of structures for information processing.
·
Submission: (i) Compress
your entire Program 6B folder into a zip
file and then upload it through Biola Canvas. (ii) Carefully fill out this self-evaluation
report and upload it through Biola Canvas. Note
that you will receive no point for missing the self-evaluation report or missing
the integrity review in the report.
*************************************************************************************************
Nimgame Programming Project (as a programming test): due: Wednesday, Dec. 19.
Final
exam: Final Exam Week
· Open-book test in the class.
· Carefully review the check-point questions in the book covered by all readings, especially Reading #8 to #14. Some of the questions in the problem set will be similar.
According to
the Biola
final exam schedule:
For section
1: ( class time MW 10:30–11:45 a.m) ==>
Exam time: Dec. 17 Monday 10 a.m.–12 p.m
For section 2: ( class time MW 12:00–1:15 p.m) ==> Exam time: Dec. 19 Wednesday 10 a.m.–12 p.m
For section 3: ( class time MW 1:30–2:45 p.m) ==> Exam time: Dec. 17 Monday 12:30 –2:30 p.m
*************************************************************************************************
For CS majors and those who are going to take CSCI 106
Data Structures: Please keep the current
textbook Starting Out with C++ with you. Next
semester in CSCI 106 Data Structures we’ll cover the remainder
of Starting Out with C++ together with some contents from an
additional textbook, C++ Primer.
*************************************************************************************************
TA hours: Lim 182 (CS computer lab)
Tuesday Starting from Tuesday, Sept. 18 1:30-3:00 (Misheel) 3:00-4:00pm (Joy)
Wednesday Starting from Wednesday, Sept. 19 3:00-4:00pm
(Misheel) 3:00-4:00pm
(Joy) 4:00-5:00pm (Steven)
*************************************************************************************************
To the Top of the page