Introduction to Programming COMP 1600 Who am I

  • Slides: 43
Download presentation
Introduction to Programming COMP 1600

Introduction to Programming COMP 1600

Who am I? �Dr. Barry Wittman �Not Dr. Barry Whitman �Education: Ph. D and

Who am I? �Dr. Barry Wittman �Not Dr. Barry Whitman �Education: Ph. D and MS in Computer Science, Purdue University BS in Computer Science, Morehouse College �Hobbies: Reading, writing Enjoying ethnic cuisine DJing Lockpicking Stand-up comedy

How can you reach me? �E-mail: �Office: �Phone: �Office hours: �Website: wittman 1@otterbein. edu

How can you reach me? �E-mail: �Office: �Phone: �Office hours: �Website: wittman 1@otterbein. edu Point 105 (614) 823 -2944 MWF 11: 30 a. m. – 12: 30 p. m. , MWF 1: 45 – 3: 00 p. m. (in Point 113), WF 3: 00 – 5: 00 p. m. , TR 2: 00 – 4: 00 p. m. , and by appointment http: //faculty. otterbein. edu/wittman 1/

Who are you? Major 3% Computer Science 7% Business Analytics 21% Undeclared 69% Mathematics

Who are you? Major 3% Computer Science 7% Business Analytics 21% Undeclared 69% Mathematics

Why are we here? �What's the purpose of this class? �What do you want

Why are we here? �What's the purpose of this class? �What do you want to get out of it? �Do you want to be here? �Have you programmed before?

Course Overview

Course Overview

Textbook �Barry Wittman, Aditya Mathur, and Tim Korb �Start Concurrent: An Introduction to Problem

Textbook �Barry Wittman, Aditya Mathur, and Tim Korb �Start Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency Available: https: //start-concurrent. github. io/

A note about the book… �The book's not bad At least it's free Your

A note about the book… �The book's not bad At least it's free Your feedback is highly valued for the next edition �I highly encourage you to read it �However, computer science is very much an applied science �Reading the book is not enough �You should be programming every day (or maybe every other day) to master the concepts

Computer science �What's a computer? �What's computer science? �What's a computer program?

Computer science �What's a computer? �What's computer science? �What's a computer program?

Algorithms �What's an algorithm? �A finite set of steps you can follow to solve

Algorithms �What's an algorithm? �A finite set of steps you can follow to solve a problem �Can you give an example? �Long division

Programming languages �What's a programming language? �Examples: C++ Java PHP ML Prolog �A language

Programming languages �What's a programming language? �Examples: C++ Java PHP ML Prolog �A language we can use to encode an algorithm into a form a computer can execute

Compiler �What's a compiler? �Turns the (human readable) programming language into the (computer readable)

Compiler �What's a compiler? �Turns the (human readable) programming language into the (computer readable) instructions that a computer executes �For Java, we'll be using Intelli. J as our compiler

Course focus � Problem solving (writing the algorithm) � Converting the algorithm to Java

Course focus � Problem solving (writing the algorithm) � Converting the algorithm to Java � Features of Java we will focus on: Variables Mathematical operations Selection statements (making choices) Loops (repeating things) Methods (dividing work into chunks) Arrays (lists of things) Input and output Classes and object orientation Searching and sorting Image and audio processing

More information �For more information, visit the webpage: http: //faculty. otterbein. edu/wittman 1/comp 1600

More information �For more information, visit the webpage: http: //faculty. otterbein. edu/wittman 1/comp 1600 �The webpage will contain: The most current schedule Notes available for download Reminders about projects and exams Syllabus Detailed policies and guidelines

Projects

Projects

Five projects � 35% of your grade will be five projects �Each will focus

Five projects � 35% of your grade will be five projects �Each will focus on a different area from the course: I/O and arithmetic if statements Loops Methods and arrays Sorting, searching, and image processing �Each project is individual

Turning in projects �Projects must be turned in by uploading them to Blackboard (https:

Turning in projects �Projects must be turned in by uploading them to Blackboard (https: //otterbein. blackboard. com) before the deadline �Do not put projects in your public directories �Late projects will not be accepted Exception: Each student will have 3 grace days You can use the grace days together or separately as extensions for your projects You must inform me before the deadline that you are going to use grace days �Assignments that don't compile get 0 points

Labs In-class Programming Exercises

Labs In-class Programming Exercises

Labs � 15% of your grade will be based around programming labs �Labs are

Labs � 15% of your grade will be based around programming labs �Labs are on Tuesdays and Thursdays, but only one day a week has a graded lab The days are marked on the schedule You're still expected to come every Tuesday and Thursday to work on projects when you're not working on a lab �Each lab will focus on the solution of a problem �Work should be done individually, but the goal is to learn, and I will help everyone

Quizzes

Quizzes

Pop Quizzes � 5% of your grade will be pop quizzes �These quizzes will

Pop Quizzes � 5% of your grade will be pop quizzes �These quizzes will be based on material covered in the previous one or two lectures �They will be graded leniently �They are useful for these reasons: 1. Informing me of your understanding 2. Feedback to you about your understanding 3. Easy points for you 4. Attendance

Exams

Exams

Exams �There will be two equally weighted exams totaling 30% of your final grade

Exams �There will be two equally weighted exams totaling 30% of your final grade Exam 1: Exam 2: 09/20/2021 11/01/2021 �The final exam will be worth 15% of your grade Final: 8: 00 – 10: 00 a. m. 12/08/2021 �All exams will be in our normal classroom

Exam format �Conceptual portion Multiple choice and short answer �Programming portion Short programming problems

Exam format �Conceptual portion Multiple choice and short answer �Programming portion Short programming problems you will write code for

Course Schedule

Course Schedule

Tentative schedule Week Starting Topics Chapters 1 2 3 4 5 6 7 8

Tentative schedule Week Starting Topics Chapters 1 2 3 4 5 6 7 8 9 10 11 12 13 14 08/23/21 08/30/21 09/06/21 09/13/21 09/20/21 09/27/21 10/04/21 10/11/21 10/18/21 10/25/21 11/01/21 11/08/21 11/15/21 11/22/21 Introduction Primitive data types Basic operations Conditionals Loops More loops Arrays Static methods Advanced method use Classes and objects Custom classes Searching and sorting Image processing Advanced topics 1 and 2 3 3 4 5 5 6 8 8 9 9 Notes and 11 20 Notes Project 1 Due Exam 1 Project 2 Due October Break Project 3 Due Exam 2 Project 4 Due Thanksgiving

Project schedule �Project 1: 5% Tentatively due 09/10/2021 �Project 2: 6% Tentatively due 10/01/2021

Project schedule �Project 1: 5% Tentatively due 09/10/2021 �Project 2: 6% Tentatively due 10/01/2021 �Project 3: 7% Tentatively due 10/22/2021 �Project 4: 7% Tentatively due 11/12/2021 �Project 5: 10% Tentatively due 12/03/2021

Policies

Policies

Grading breakdown 35% • Five projects 15% • Labs (in-class programming) 5% • Quizzes

Grading breakdown 35% • Five projects 15% • Labs (in-class programming) 5% • Quizzes 30% • Two equally weighted midterm exams 15% • Final exam

Grading scale A 93 -100 B- 80 -82 D+ 67 -69 A- 90 -92

Grading scale A 93 -100 B- 80 -82 D+ 67 -69 A- 90 -92 C+ 77 -79 D 60 -66 B+ 87 -89 C 73 -76 F 60 -62 B 83 -86 C- 70 -72

Attendance �You are expected to attend class �You are expected to have read the

Attendance �You are expected to attend class �You are expected to have read the material we are going to cover before class �Missed quizzes cannot be made up �Exams and labs must be made up before the scheduled time, for excused absences

Office hours �Posted office hours above assume that in-person office hours will be possible

Office hours �Posted office hours above assume that in-person office hours will be possible �Because of constraints on social distancing, the instructor may meet with students in the hallway outside his office instead of inside it �Office hours in Point 113 will continue as long as it is safe to do so

R-E-S-P-E-C-T �I hate having a slide like this �I ask for respect for your

R-E-S-P-E-C-T �I hate having a slide like this �I ask for respect for your classmates and for me �You are smart enough to figure out what that means �A few specific points: Silence communication devices Don't use the computers except when explicitly asked to No food or drink in the lab

Computer usage �Sometimes, I will do code examples in class �In those cases, you

Computer usage �Sometimes, I will do code examples in class �In those cases, you are welcome to follow along �However, students are always tempted to browse the Internet, etc. �Research shows that it is nearly impossible to do two things at the same time (e. g. use Reddit and listen to a lecture) �For your own good, I will enforce this by taking 1% of your final grade every time I catch you using your computer for anything other than coding

Academic dishonesty �Don't cheat �First offense: I will give you a zero for the

Academic dishonesty �Don't cheat �First offense: I will give you a zero for the assignment, then lower your final letter grade for the course by one full grade �Second offense: I will fail you for the course and try to kick you out of Otterbein University �Refer to the Student Handbook for the official policy �Ask me if you have questions or concerns �You are never allowed to look at another student's code �I will use tools that automatically test code for similarity

Programming projects �Must compile If your program does not compile, it will score zero

Programming projects �Must compile If your program does not compile, it will score zero points �Must be handed in on time If your program is late (and grace days are not available), it will score zero points �Must be done individually If I can ascertain that code from one student's project appears in another student's project, both projects will score zero points Both students will also have a full letter grade reduction at the end of the semester

Learning Differences �If you have a documented learning difference please contact Kera Mc. Clain

Learning Differences �If you have a documented learning difference please contact Kera Mc. Clain Manley, the Disability Services Coordinator, to arrange for whatever assistance you need. The Disability Services is located in Room #13 on the second floor of the Library in the Academic Support Center. You are welcome to consult with me privately to discuss your specific needs. For more information, contact Kera at kmanley@otterbein. edu, (614) 823 -1618 or visit Disability Services.

How to Succeed in this Course

How to Succeed in this Course

Bad students… �Don't ask questions �Don't come to office hours �Don't ask for help

Bad students… �Don't ask questions �Don't come to office hours �Don't ask for help �Treat education as a passive experience �Are happy when a class is easy �In other words, they act as if college is high school

Good students… �Ask questions �Come to office hours �Ask for help �Actively pursue all

Good students… �Ask questions �Come to office hours �Ask for help �Actively pursue all the knowledge and skills they can �Are angry when a class is easy

Upcoming

Upcoming

Next time… �On Wednesday, we'll cover a few Java basics �Then we will talk

Next time… �On Wednesday, we'll cover a few Java basics �Then we will talk about the history of computers and the definition of computer science �Come to lab tomorrow (even though we won't have a graded assignment) We're going to introduce Intelli. J We'll show you how to use One. Drive to save your work

Reminders �Read Chapter 1 �I recommend coming to the lab during open lab hours

Reminders �Read Chapter 1 �I recommend coming to the lab during open lab hours today or Wednesday (1: 45 – 3 p. m. ) to make sure you can log in �I recommend installing the following on your computer Java JDK 16, available here: https: //www. oracle. com/java/technologies/javase-jdk 16 -downloads. html Intelli. J IDEA Community using the installer here: https: //www. jetbrains. com/idea/download/ You should always be able to use the lab, but it's good to have a backup option