Introduction to Computer Science

CSCI 105 Fall semester, 2017

 

 

To the Bottom of the Page.                                 

 

Instructor: Dr. Shieu-Hong Lin    Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: LinEmail

 

Syllabus: Compact Version

 

Section 1: MW 10:30-11:45am           Section 2: MW 1:30-2:45pm  

Location: LIB 141     

 

Dr. Lin Office Hours: Math & CS department at Grove 8.

(i)                 Tuesday: 1:00-3:30pm, just drop by

(ii)              Monday, Wednesday, Thursday: 3:00~5:00pm: email Dr. Lin in advance to confirm an appointment

 

TAs: Zach Chester, Grant Garcia, Peter Leung, Caleb Tyler, Willy Hung

 

 

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

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

Submit your reading report under Canvas

(i)                 Read Sections 1.2-1.6 of the textbook (7th Ed./8th Ed.) and try to understand this very simple C++ program.

(ii)              Read this introduction to how to compile your C++ programs.

(iii)            Reflect on what you have done in Lab #1 above. In your reading report, succinctly describe any technical problems you have encountered while doing Lab #1 above.

(iv)             Send in your reading report through Biola Canvas.

 

Lab #1 (First exposure to a very simple computer application program): Due: Wednesday, Sept . 6 (no penalty till Friday Sept. 8)

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

(i)                 Read 2.1~2.9 and 2.12 (7th Ed. & 8th Ed.) of the textbook

(ii)              Send in your reading report through Biola Canvas.

 

 

Programming Assignment #0:

Due: Wednesday, Sept. 13 (late penalty: deduction of 1 point; submission closed by the end of Friday Sept. 15)

 

(i)                 Highlight: Using double variables and the assignment operator ' = ' for a temperature conversion program:

(ii)              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.

(iii)            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. 20

(i)                 Required: Sections 2.13~2.15, 2.17 and 3.2~3.3 (7th Ed. & 8th Ed.) of the textbook

(ii)              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.

(iii)            Send in your reading report through Biola Canvas.

 

Programming Assignment #1 Due: Wednesday, Sept. 20

(i)                 Highlight: Using int variables and the integer modulus operator ' % '  and more for a currency conversion program.

(ii)              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.

(iv)             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, Sept. 27

(i)                 Required: Sections 4.1~4.6  (7th Ed. & 8th Ed.) of the textbook

(ii)              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.

(iii)            Send in your reading report through Biola Canvas.

 

Programming Assignment #2 Due: Wednesday, Sept. 27

(i)                 Highlight: Using relational operators, logic expressions, and if/else statements for a payroll program.

(ii)              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.

(iii)            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/esle statements, logic expressions, and the Boolean type

Reading #5: due: Wednesday, Oct. 4

(i)                 Required: Sections 2.10, 4.7~4.12  (7th Ed. & 8th Ed.) of the textbook

(ii)              Optional: All the other sections in Chapter 4, especially 4.14~4.15 in addition if you want to learn more.

(iii)            Send in your reading report through Biola Canvas.

 

 

Programming Assignment #3  Due: Wednesday, Oct. 4 (This one is harder and more tedious. You should start as early as possible.)

(i)                 Highlight: Using relational operators, logic operators, logic expressions, and if/else statements for a date validation program.

(ii)              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.

(iii)            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. 11. No penalty till Oct. 12.

(i)                 Required: Sections 5.1~5.10   (7th Ed. & 8th Ed.) of the textbook

(ii)              Send in your reading report through Biola Canvas.

 

 

Programming Assignment #4A  Due: Wednesday, Oct. 11. No penalty till Oct. 12.

(i)                 Highlight: Using a while loop to implement an ATM-like service program.

(ii)              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.

(iv)             Submission: (i) Compress your entire Program 4A 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 7: More about loops

Reading #7: Reading report due: Wednesday, Oct. 18

(i)                 Read Sections 4.14, 4.15, 5.11   (7th Ed. & 8th Ed.) of the textbook.  Optional: Section 5.12

(ii)              Review Sections 5.1~5.10   (7th Ed. & 8th Ed.) of the textbook as needed

(iii)            Send in your reading report through Biola Canvas.

 

 

Programming Assignment #4B  Due: Wednesday, Oct. 18, submission open till Oct. 25

(i)                 Highlight: Using nested loops for finding prime numbers.

(ii)              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 4A. Then repeatedly compile, test, and debug your program until it works correctly.

(iii)            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: Basics of functions.

Reading #8: Reading report due:  Wednesday, Oct. 25

(i)                 Required: Sections 6.1~6.5   (7th & 8th Ed.) of the textbook

(ii)              Send in your reading report through Biola Canvas.

 

 

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

 

Week 9: More on functions.

Reading #9: Reading report due: Wednesday Nov. 3

(i)                 Required: Sections 6.6~6.10   (7th & 8th Ed.) of the textbook

(ii)              Optional: Sections 6.11~6.16   (7th & 8th Ed.) of the textbook

(iii)            Send in your reading report through Biola Canvas.

 

 

Programming Assignment #5A  Due: Wednesday, Nov. 1

(i)                 Highlight: Defining and calling void functions.

(ii)              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.

 

 

Programming Assignment #5B  Due: Wednesday, Nov. 8

(i)                 Highlight: Redo the prime number processing program by defining and calling functions.

(ii)              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.

 

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

 

Nimgame Programming Project: due: Wednesday, Nov. 22

 

Special integrity rules against plagiarism for this project:

 

Things you can do: (i) You may discuss the rules of the nim game. You may discuss ways to determine whether there is a ‘best’ move or not and if so what the best move is. (ii) Some of the things to implement are related to the earlier regular programming assignments. You can still discuss these past programming assignments and ask the TAs questions about these assignments. (iii) You can reuse any C++ code you have written for the previous programming assignments and use C++ code covered by the reading assignments in the textbook. However, other than these two sources, you need to write your own C++ code by yourself.

 

 

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

Relevant events on campus:

Tech talk and internship opportunity: David Mitchell, Principal Engineer of Faithlife (Logos Bible Software), 3:00-4:15pm, Thursday, Oct. 19, Lib 141.

Software engineering in the aerospace industry:  Guest speaker: Mr. Long Ho, Principal Engineer of Boeing (2001– 2016), Friday, Nov. 10, Busn 210.

Guest talk for the Computer Science Club: Tyson Trautmann (Riot Games), 2-3pm, Friday, Nov. 10, BUSN 207.

 

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

TA hours at Grove 10A:

Monday: Peter: 1pm-3pm,   Willy: 2pm-4pm 

Tuesday: Grant: 3pm-5pm,

Wednesday:          Zach: 12-2pm,

Thursday:              Caleb: 3pm-5pm,

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

 

To the Top of the page