CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436

Slides:



Advertisements
Similar presentations
Prof. Matthew Hertz WTC 207D /
Advertisements

John Hurley Cal State LA
Prof. Matthew Hertz WTC 207D /
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSC 395 – Software Engineering Prof. Matthew Hertz WTC 207D /
CEP Welcome September 1, Matthew J. Koehler September 1, 2005CEP Cognition and Technology Who’s Who?  Team up with someone you don’t.
CS 206 Introduction to Computer Science II 09 / 03 / 2008 Instructor: Michael Eckmann.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
CS 410 Applied Algorithms Applied Algorithms Lecture #1 Introduction, class information, first problems.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Basic English II Jay Melton. We will meet twice a week One class meeting in 小 7 The other class meeting in 情 2.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
CS211: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Piazza – Textbook Highlight important.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
CSC 212 – DATA STRUCTURES Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
7-Sep-15 Physics 1 (Garcia) SJSU Conceptual Physics (Physics 1) Prof. Alejandro Garcia Spring 2007.
Prof. Matthew Hertz WTC 207D /
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
Prof. Matthew Hertz WTC 207D /
COMP Introduction to Programming Yi Hong May 13, 2015.
Prof. Matthew Hertz SH 1029F /
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Prof. Matthew Hertz SH 1029F /
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
CSC 110 – Intro. to Computing Prof. Matthew Hertz WTC 207D /
Welcome to Physics 1D03.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
“Good morning, and welcome to introduction to chemistry.” Not the real Mr. Cooper.
1 Principles of Computer Science I Note Set 1 CSE 1341.
Welcome to Honors Geometry! Mrs. Holman
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CSC 212 – Data Structures Lecture 37: Course Review.
Matter and Interactions 1 Fall 2006 Matter & Interactions I Physics Professor & Lecturer: Dr. Reinhard Schumacher Teaching Assistants: Ms. Elisa.
Prof. Matthew Hertz WTC 207D /
CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D /
Senior Health Mr. Chis-Luca. WELCOME! This class will give you an opportunity to examine some of the “adult” concerns that you have and/or will face shortly.
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
A Class to build skills to help in all of your classes Study & Learning Skills A College Class It can be interesting and fun It can be boring and awful.
Welcome to Astronomy 113 “ It would seem that you have no useful skill or talent whatsoever, he said.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
Data Structures and Algorithms in Java AlaaEddin 2012.
Chemical Hydrogeology GLY What this course is: Diffusion equation Dispersion Convection-Dispersion equation Boundary conditions Sorption Production.
INTRODUCTION  We are all here for YOU- for you to succeed and to enjoy this class. Because I care about each of you. I am here to help you. So I will.
WELCOME TO MICRO ECONOMICS AB 224 Discussion of Syllabus and Expectations in the Class.
Get Organized Binders, Homework, Lockers. Binder Organization Use a binder system that works best for you Put you name, address and phone number on the.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Introduction to CSCI 1311 Dr. Mark C. Lewis
IST256 : Applications Programming for Information Systems
CSE 116/504 – Intro. to Computer Science For Majors II
Computer Science 102 Data Structures CSCI-UA
We’ll be spending minutes talking about Quiz 1 that you’ll be taking at the next class session before you take the Gateway Quiz today.
CS 201 – Data Structures and Discrete Mathematics I
CS 201 – Data Structures and Discrete Mathematics I
Introduction to CS II Data Structures
12/8/2018 Math is awesome!.
CS 2530 Intermediate Computing Dr. Schafer
CPSC 465: Design and Analysis of Algorithms
CS 474/674 – Image Processing Fall Prof. Bebis.
Presentation transcript:

CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D /

Objectives Met in CSC213 Design computational solutions Specify, design, implement, and test a program of at least 1000 lines Design and implement a simple GUI Decompose a problem into logically grouped subprograms Develop and analyze algorithms Program well Work independently Code in a high-level language Debug a program Document a program Write and use a test plan Write recursive algorithms, greedy algorithms, & divide-and-conquer algorithms Organize data for effective use Use fundamental data structures Implement data structures Understand file structures, storage, and indexes Understand the role of computing and the computer professional Present or explain ideas Weigh different solutions and explain or argue why one was preferable Work in teams

High-level Objectives Have fun Become an effective programmer via better understanding of the development process Continue developing “toolbox” of solutions

Expectations of Me Lectures are prepared and organized Give interesting, thoughtful, & fun problems Be (reasonably) available to answer questions Be honest and forthright

Teaching Style Reasoning more important than answer Will not face the same question again Answer meaningless if just a lucky guess Mastery means explaining how & why Class participation is vital Cannot modify approach until I know what the problem is

Adult Learning Students read material before class Begin class with opportunity to ask questions (Short) lecture explains key topics & ideas Provides 2 nd opportunity to see material Prevents long, boring lectures Students work in teams solving problems Make sure you actually understand material (Nearly) Penalty-free chance to make mistakes

Expectations of You Work hard Come to class prepared Be a good teammate Ask for help early and often Let me know what you are thinking

Attendance & Deadlines Attendance is mandatory If you must miss a class, talk to me ahead of time You are responsible for every class Best way to earn a poor grade: skip class Work must be submitted by time it is due Late work will not be accepted Talk to me as soon as you know you cannot make a deadline

Attack of Real Life When life happens… May need to get a note from the Dean Be prepared to show documentation Talk to me when you can We will find fair & workable solution

Course Grading Midterm21% Final32% Projects24% Daily Activities5% Programmer’s Notebook3% Reading Quizzes3% Program Portfolio12% Grade spreadsheet available on course web page Midterm given on Mar. 26 th Final covers entire semester 6 programming projects during semester

Goals for Other Graded Items CSC212/213 have almost too much material Do not want to burn everyone out But really important to learn… …and equally important to learn well Build skills used by “real” programmers Often have references nearby to look things up Write Cliff’s Notes of most important details

Programmer’s Notebook Take notes on readings’ most important details for each lecture Template for notes on course webpage Written in manner that makes most sense to you (Don’t care where you get information from) Will collect notebooks twice during term Grade will be on how complete notes are Used on midterm & final along with book Not allowed to include my slides in notebook

Reading Quizzes Classes may begin with quiz on day’s reading Limited to details on notebook template… …and will be open notebook Unless asked, will not cover material on template in detail Leaving time to focus on more complex issues Gets rid of need for weekly assignments (I hope) Notebook also useful reference in future classes

Program Portfolio Opportunity to show off programming skills You must submit all 6 assignments as normal Choose 3 best for further scrutiny Will be due on last day of the term Document entire programming process Shows how you arrived at the final product Must include drafts program went through Gives you chance to perfect a program Grading tougher than normal assignments But also get much longer to complete

Grading Rubric “A” Know material Few small mistakes “B” Good understanding of topic Miss a few “boundary cases” “C” Know idea, fuzzy on details Miss large number of boundary cases -or- Solution is close, but not quite correct “D” Vague on idea, details are a blur Only solves general case -or- Solution usually incorrect -or- Solution rarely crashes “F” Started day before its due Solution rarely correct -or- Crashes regularly -or- Code cannot compile

Learning Styles People have different ways in which they best take in and process information Important for each student to discover what is best for them Will try presenting material visually, verbally, written, and kinetically Let me know what works for you Let me know what DOESN’T work for you

Collaboration Fellow students are a great resource Different styles of learning yields multiple levels of understanding Get together, discuss material, and study Answer lingering questions you have Clarify what a problem is asking (Most of you) take many classes together, may as well start interacting

Collaboration Work you submit must be done by you When discussing homework or projects Leave conversation with memories only Wait >15 minutes before starting on your own Never seen 2 people submit similar solutions when they actually wait Should not be reviewing work once its started When in doubt, ask me

Coding Help New policy for CSC111, CSC212, CSC213 Minimum requirements for debugging help Course includes focus on testing/debugging To get debugging help in CSC213: Method(s) must be javadoc’d Must have test cases for method(s) Must have performed some trace looking for bug Trace can either be on paper or via System.err

Textbook Michael Goodrich and Roberto Tamassia: Data Structures and Algorithms in Java, 4th edition, Wiley, Not available at bookstore, but is on web Will cover about 50% of the textbook CSC212 looks at linear data structures CSC213 looks at other concepts: trees and graphs

Course Website Contains slides, announcements, other important information Does not replace actually attending class

Personal Information Sheet Name: Matthew Hertz Year: 2 nd year Major: Computer Science Previous Computer Experience: A in CS2 at MBHS I am in this course because: Enjoy helping novice coders and seeing them develop and grow My goals for this semester are… Include better tests for IM project Develop better problems Beat my wife at darts

For Next Lecture Think about what you think differentiates a good programmer from a great programmer 1 st item for Programmer’s Notebook: Write 2 – 3 paragraphs convincing me of your opinion