Introduction to Programming Dr. Barry Wittman Not Dr. Barry Whitman - - PowerPoint PPT Presentation

introduction to programming dr barry wittman not dr barry
SMART_READER_LITE
LIVE PREVIEW

Introduction to Programming Dr. Barry Wittman Not Dr. Barry Whitman - - PowerPoint PPT Presentation

Introduction to Programming Dr. Barry Wittman Not Dr. Barry Whitman Education: PhD and MS in Computer Science, Purdue University BS in Computer Science, Morehouse College Hobbies: Reading, writing Enjoying ethnic


slide-1
SLIDE 1

Introduction to Programming

slide-2
SLIDE 2

 Dr. Barry Wittman  Not Dr. Barry Whitman  Education:

  • PhD and MS in Computer Science, Purdue University
  • BS in Computer Science, Morehouse College

 Hobbies:

  • Reading, writing
  • Enjoying ethnic cuisine
  • DJing
  • Lockpicking
  • Stand-up comedy
slide-3
SLIDE 3

 E-mail:

wittman1@otterbein.edu

 Office:

The Point 105

 Phone:

(614) 823-2944

 Office hours: MWF10:30 a.m. – 12:00 p.m.,

MWF1:45 – 3:00 p.m. (in The Point 113), MWF4:00 – 5:00 p.m., TR 1:00 – 4:00 p.m., and by appointment

 Website:

http://faculty.otterbein.edu/wittman1/

slide-4
SLIDE 4

63% 11% 11% 3% 4% 4% 4%

Major

Computer Science Business Analytics Business, Finance, or Marketing Mathematics Sports Management Zoo and Conservation Science Undeclared

slide-5
SLIDE 5

 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?

slide-6
SLIDE 6
slide-7
SLIDE 7

 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/
slide-8
SLIDE 8

 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

slide-9
SLIDE 9

 What's a computer?  What's computer science?  What's a computer program?

slide-10
SLIDE 10

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

slide-11
SLIDE 11

 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

slide-12
SLIDE 12

 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 Eclipse as our compiler

slide-13
SLIDE 13

 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
slide-14
SLIDE 14

 For more information, visit the webpage: http://faculty.otterbein.edu/wittman1/comp1600  The webpage will contain:

  • The most current schedule
  • Notes available for download
  • Reminders about projects and exams
  • Syllabus
  • Detailed policies and guidelines

 Piazza will allow for discussion and questions about the projects: https://piazza.com/otterbein/fall2020/comp1600

slide-15
SLIDE 15
slide-16
SLIDE 16

 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

slide-17
SLIDE 17

 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

slide-18
SLIDE 18

In-class Programming Exercises

slide-19
SLIDE 19

 15% of your grade will be based around programming labs  Labs are on Tuesdays and Thursdays

  • If your last name is Marty or earlier in the alphabet, you'll meet on Tuesdays
  • If your last name is Mikesell or later in the alphabet, you'll meet on Thursdays
  • Whether or not you're attending in-person, you should do your lab on the

assigned day

  • Most confusing: Labs this week start on Thursday and end on the last week
  • n Tuesday

 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

slide-20
SLIDE 20
slide-21
SLIDE 21

 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  To prevent the spread of COVID-19 and to treat online students equally,

quizzes will be done at the end of class, through Blackboard

  • Bring to class a laptop, tablet, or smartphone capable of typing out text on

Blackboard

 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

slide-22
SLIDE 22
slide-23
SLIDE 23

 There will be two equally weighted exams totaling 30% of

your final grade

  • Exam 1:

09/21/2020

  • Exam 2:

10/26/2020

 The final exam will be worth 15% of your grade

  • Final:

8:00 – 10:00 a.m. 12/02/2020

 All exams will be administered online  Do not come to class on the days of midterm exams

slide-24
SLIDE 24

 Conceptual portion

  • Multiple choice and short answer

 Programming portion

  • Short programming problems you will write code for
slide-25
SLIDE 25
slide-26
SLIDE 26

Week Starting Topics Chapters Notes 1 08/24/20 Introduction 1 and 2 2 08/31/20 Primitive data types 3 3 09/07/20 Basic operations 3 Project 1 Due 4 09/14/20 Conditionals 4 5 09/21/20 Loops 5 Exam 1 6 09/28/20 More loops 5 Project 2 Due 7 10/05/20 Arrays 6 8 10/12/20 Static methods 8 9 10/19/20 Advanced method use 8 Project 3 Due 10 10/26/20 Classes and objects 9 Exam 2 11 11/02/20 Custom classes 9 Project 4 Due 12 11/09/20 Searching and sorting Notes 13 11/16/20 Image processing 11 and 20 14 11/23/20 Review All Project 5 due

slide-27
SLIDE 27

 Project 1:

5% Tentatively due 09/11/2020

 Project 2:

6% Tentatively due 10/02/2020

 Project 3:

7% Tentatively due 10/23/2020

 Project 4:

7% Tentatively due 11/06/2020

 Project 5:

10% Tentatively due 11/25/2020

slide-28
SLIDE 28
slide-29
SLIDE 29

35%

  • Five projects

15%

  • Labs (in-class programming)

5%

  • Quizzes

30%

  • Two equally weighted midterm exams

15%

  • Final exam
slide-30
SLIDE 30

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

slide-31
SLIDE 31

 You are expected to attend class, whether online or in-person  In-person students should sit in the same seats each class to simplify attendance  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

 Students are asked to help sanitize their desks and computers before and after

lectures and labs

 Although labs are scheduled for Tuesdays and Thursdays, approximately half of

the students in the class will meet Tuesdays and half will meet Thursdays, for social distancing purposes. If COVID-19 makes in-person meetings impossible, all students will meet online both Tuesdays and Thursdays

slide-32
SLIDE 32

 Posted office hours above assume that in-person office hours

will be possible

 Because of constraints on social distancing, the instructor will

meet with students in the hallway outside his office instead of inside it

 Students can contact the instructor via e-mail to arrange

meetings on Blackboard Collaborate Ultra during any of the listed office hours

 Office hours in The Point 113 will continue as long as it is safe

to do so

slide-33
SLIDE 33

 All lectures and labs will be delivered synchronously, at the

scheduled times, both in-person and via Blackboard Collaborate Ultra

 Most students will attend lectures and labs in-person  Due to health concerns, some students will attend online for the

entire semester

 Students who experience COVID-19 symptoms but are well

enough to continue learning should attend online and not meet in-person

 If COVID-19 makes in-person meetings impossible, all students

will shift to a fully online model

slide-34
SLIDE 34

 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
slide-35
SLIDE 35

 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

slide-36
SLIDE 36

 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

slide-37
SLIDE 37

 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

slide-38
SLIDE 38

 If you have a documented learning difference please contact

Kera McClain 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.

slide-39
SLIDE 39
slide-40
SLIDE 40

 On Wednesday, we'll cover a few Java basics  Then we will talk about the history of computers and the

definition of computer science

 No lab tomorrow, but there is lab Thursday!

  • (For half the class)
slide-41
SLIDE 41

 Read Chapter 1  If you're an in-person student, I recommend coming to the lab during

  • pen lab hours today or Wednesday (1:45 – 3 p.m.) to make sure you can

log in

 Whether you are an in-person or an online student, I recommend

installing the following on your computer

  • Java JDK 8, available here:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  • Eclipse IDE for Java Developers using the installer

here: https://www.eclipse.org/downloads/

  • There's a good chance we won't finish the semester in person, and this is the

software you need