introduction to programming dr barry wittman not dr barry
play

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


  1. Introduction to Programming

  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

  3. wittman1@otterbein.edu  E-mail:  Office: The Point 105  Phone: (614) 823-2944  Office hours: MWF 10:30 a.m. – 12:00 p.m., MWF 1:45 – 3:00 p.m. (in The Point 113), MWF 4:00 – 5:00 p.m., TR 1:00 – 4:00 p.m., and by appointment  Website: http://faculty.otterbein.edu/wittman1/

  4. Major Computer Science 4% 4% 4% 3% Business Analytics Business, Finance, or Marketing 11% Mathematics Sports Management 11% 63% Zoo and Conservation Science Undeclared

  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?

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

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

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

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

  10.  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

  11.  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

  12.  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

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

  14.  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

  15.  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

  16. In-class Programming Exercises

  17.  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 on 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

  18.  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: Informing me of your understanding 1. Feedback to you about your understanding 2. Easy points for you 3. Attendance 4.

  19.  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

  20.  Conceptual portion  Multiple choice and short answer  Programming portion  Short programming problems you will write code for

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

  22.  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

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

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

  25.  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

  26.  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

  27.  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

  28.  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

  29.  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

  30.  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

Recommend


More recommend