Introduction to Computer Science

CSCI 105 Fall semester, 2018

 

 

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    

 

Office Hours: Math & CS Department in LIM

·         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  Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: LinEmail 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.

 

 

Programming Assignment #0:

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

·                     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.

 

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.

 

*************************************************************************************************

Nimgame Programming Project (as a programming test): due: Wednesday, Dec. 19.

 

*************************************************************************************************

         

 

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