CSE 116/504 – Intro. to Computer Science For Majors II

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
MAT 3749 Introduction to Analysis Fall 2013
Please initial the attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the roster, please.
CSC 395 – Software Engineering Prof. Matthew Hertz WTC 207D /
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
CS 450: COMPUTER GRAPHICS COURSE AND SYLLABUS OVERVIEW SPRING 2015 DR. MICHAEL J. REALE.
CS211: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Piazza – Textbook Highlight important.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
CSC 212 – DATA STRUCTURES Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz SH 1029F /
MGS 351 Introduction to Management Information Systems
Syllabus and Class Policies MATH 130: Summer 2014.
Please initial the appropriate attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the.
Prof. Matthew Hertz SH 1029F /
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Prof. Matthew Hertz WTC 207D /
CSC 110 – Intro. to Computing Prof. Matthew Hertz WTC 207D /
1 Principles of Computer Science I Note Set 1 CSE 1341.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Prof. Matthew Hertz WTC 207D /
CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D /
Please initial the attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the roster, please.
CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D /
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
Please initial the attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the roster, please.
Welcome to Astronomy 113 “ It would seem that you have no useful skill or talent whatsoever, he said.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Please initial the attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the roster, please.
Please initial the appropriate attendance roster near the door. If you are on the Wait List you will find your name at the bottom. If you are not on the.
Syllabus and Class Policies MATH 130: Summer 2016.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington 1.
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
IST256 : Applications Programming for Information Systems
CS6501 Advanced Topics in Information Retrieval Course Policy
Networking CS 3470, Section 1 Sarah Diesburg
CS101 Computer Programming I
MATH/COMP 340: Numerical Analysis I
Welcome!! Sign by your name on the papers by the door.
Fall 2016 MATH 250: Calculus III.
Course Information Mark Stanovich Principles of Operating Systems
Syllabus Overview CSE 4309 – Machine Learning Vassilis Athitsos
Syllabus Overview CSE 6363 – Machine Learning Vassilis Athitsos
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
7th Grade Mathematics Overview Materials Classroom Policies
Using MyMathLab Features
Week 1 Gates Introduction to Information Technology cosc 010 Week 1 Gates
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Welcome to Physics 1D03.
Using MyMathLab Features
Andy Wang Operating Systems COP 4610 / CGS 5765
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Andy Wang Operating Systems COP 4610 / CGS 5765
CS 3950 Introduction to Computer Science Research
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington.
Syllabus and Class Policies
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture 1a- Introduction
MATH 331: Partial Differential Equations
Welcome to College English 2!
Presentation transcript:

CSE 116/504 – Intro. to Computer Science For Majors II Prof. Matthew Hertz Davis 352 / 645-4736 mhertz@buffalo.edu CSE 116/504 – Intro. to Computer Science For Majors II

Course Prerequisites Class builds on material from CSE 115/503 Name shows it is sequel: Intro. to CS For Majors II Prerequisite enforced; cannot be successful without it Last term started multi-year curriculum transition

Course Prerequisites Class builds on material from CSE 115/503 Name shows it is sequel: Intro. to CS For Majors II Prerequisite enforced; cannot be successful without it Last term started multi-year curriculum transition

Course Prerequisites Class builds on material from CSE 115/503 Name shows it is sequel: Intro. to CS For Majors II Prerequisite enforced; cannot be successful without it Last term started multi-year curriculum transition Many ideas worked, but structure not rigorous enough Post-CSE116 unchanged, so material must be made up To get everyone up-to-speed, this class will start slower Will gets faster & harder; important students keep up

Do not fall behind in class Material is cumulative Course Key Concept #1 Do not fall behind in class Material is cumulative

Course Prerequisites Accepted transfer courses equal

Course Prerequisites Accepted transfer courses equal (in theory)

Course Prerequisites Accepted transfer courses equal (in theory)

Course Prerequisites Transfer courses theoretically equivalent Your success is important; do our best to check this Some topics may be review for you; please help others May need to work on own if topics not in your “115” Should not be problem; your success is important

Objectives Met in CSE 116/504 (CEN-a) Apply knowledge of math, probability & statistics, CS and EE as it applies to the fields of software & hardware (CEN-h) Understand the impact of engineering solutions in a global, economic, environmental, and societal context (CEN-k) Use the techniques, skills, & modern hardware and software engineering tools necessary for computer engineering practice (CS-a) Apply knowledge of computing & math appropriate to the discipline. (CS-d) Function effectively on teams to accomplish a common goal. (CS-c) Design, implement, & evaluate a computer-based system, process, component, or program to meet desired needs. (CS-i) Use current techniques, skills, & tools necessary for computing practice.

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Picture used under Creative Commons Non-Commercial license. Original by G. A. Hussein and is available at: https://www.flickr.com/photos/guuleed/253458330/in/photostream/

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Learn basic concepts & skills needed for success Approach problems & write code like a developer “Choosing data structure critical for good performance” Have fun

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Learn basic concepts & skills needed for success Approach problems & write code like a developer “Choosing data structure critical for good performance” Have fun

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Learn basic concepts & skills needed for success Approach problems & write code like a developer “Choosing data structure critical for good performance” Have fun

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Learn basic concepts & skills needed for success Approach problems & write code like a developer “Choosing data structure critical for good performance” Have fun

High-level Objectives Become programmers, not just “code monkeys” Work on your own & in a team developing solutions Learn real-world habits for working with software Be able to describe & debug methods using proper tools Learn basic concepts & skills needed for success Approach problems & write code like a developer “Choosing data structure critical for good performance” Have fun

Expectations of Me Lectures prepared, organized, & available Write relevant, interesting, fun problems Be (reasonably) available to answer questions Always, always, always be honest and forthright All of this is done to achieve my course goal: to have students learn & master the material I am not above standing on my head or making the class dance if that is what it takes…

Expectations of Me Lectures prepared, organized, & available Write relevant, interesting, fun problems Be (reasonably) available to answer questions Always, always, always be honest and forthright All of this is done to achieve my course goal: to have students learn & master the material I am not above standing on my head or making the class dance if that is what it takes…

Attendance Attendance is mandatory If you will need to miss class, let me know You are responsible for every class Missing class is never acceptable excuse Best way to earn a poor grade: skip class

Deadlines Late work not accepted without extension If you know you cannot make a deadline, talk to me Earlier we talk, the better the chance solution possible Will drop lowest scores in calculating grades Term has 35 homework problems: best 32 count Mistakes in adult learning normal; 15% curve applied Should provide cushion when real-life happens

Grading Philosophy Grades reflect student's demonstrated ability Not a competition where grades are relative I will quite happily give A to entire class, if all earn it A not automatic just because score is highest in class Remain fair for students past, present, & future When in doubt, I consider what most equitable Hard work alone insufficient to raise a score Working efficiently important life skill to be rewarded

Grading Philosophy Would you rather have: Doctor Who Cures You Doctor Who Works Hard

Recitation Activities Course Grading Tests 25% Final Homeworks 12½% Adult Learning 7½% Recitation Activities 5% Recitation Quizzes 15% Course Project 10%

Course Grading Goals Learn & build skills used by “real” programmers Develop understanding needed for future work Catch and correct problems early Many ways presenting material during the term Increases chances that all students can “get it”

Course Grading Goals Learn & build skills used by “real” programmers Develop understanding needed for future work Catch and correct problems early Many ways presenting material during the term Increases chances that all students can “get it” I am mean & like watching students suffer

But It Was Close To Correct!

Your Friend <Ctrl>-A <Ctrl>-I

AutoLab Coding Questions Was… Unlimited submissions allowed on each question Goal of letting students see mistakes & learn from them Debug & think through error to make needed changes Instead AutoLab checked & then little thought for "fix"

AutoLab Coding Questions Was… Unlimited submissions allowed on each question Goal of letting students see mistakes & learn from them Debug & think through error to make needed changes Instead AutoLab checked & then little thought for "fix"

AutoLab Coding Questions This Term 2 "free" submissions allowed for each question With each additional submission adds 10% penalty All tests available & can be run on your machine for free I strongly encourage you test answer before submitting Debugging techniques taught during recitations, too Question never asked again; understanding ideas is goal

Course Key Concept #3 Good: Bad:

October 10th & November 7th Tests October 10th & November 7th Given at 8:30PM – 9:30PM in NSC 201/225 If you have conflict, make-up next day in class Let me know ASAP, so I can set everything up To be fair to all, will need document showing conflict

Homework Problems Problems posted by Monday class for that week Submit via AutoLab by 12:45PM following Monday Exception is this week which is due next Thursday (9/7) Before final submit, ask TAs/me questions you still have Several goals for these assignments Provide additional programming opportunities Reinforce material from each lecture Questions should seem easy & take under 15 min. Means you are doing well & if it takes longer…

Office Hours Official: (Guaranteed to be in my office – Davis 338L) Monday from 8:30AM – 11:00 AM Friday from 2:00PM – 3:30 PM E-mail me & we can schedule to meet other times Unofficial: (unless in a meeting, likely to be available) If office door is open 8:15AM – 4:30PM M-F UTA: (Can also ask questions of very nice, helpful UTAs ) Various times every weekday; new system shortly

About My Slides Often contain many pictures & animations Lectures interesting & less painful than it could be Creates opportunities for better learning approaches Will suck as actual notes Download handout & take notes on the side Write down what the steps animated on the slide Slides (with notes) helpful on tests, recitations,…

Learning is active Cannot just save posted slides for notes Course Key Concept #2 Learning is active Cannot just save posted slides for notes

Collaboration Fellow students are a great resource Provides multiple viewpoints & understandings Get together, discuss material, and study Can have them answer lingering questions Clarify assignment and what it requires Learn and practice some basic social skills

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 Solutions always unique after waiting Once started, each student should work alone STEP AWAY FROM COMPUTER then talk code

When in doubt, ask me 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 Solutions always unique after waiting Once started, each student should work alone STEP AWAY FROM COMPUTER then talk code When in doubt, ask me

Academic Integrity Violations Not a joking matter

Academic Integrity Violations Not a joking matter Consequences real

Academic Integrity Violations Not a joking matter Consequences real Just do NOT do it

Using Piazza for forums and power group projects Allows you to easily ask questions of course staff Staff can post material for commonly asked questions Even creates forums in which staff & students can talk Cost is ideal – free for both school and students But it does first require you sign up on their site: http://piazza.com/buffalo/fall2017/cse116 DIscuss that anonymous posting is possible BUT that the TAs and I could find out who wrote a post if this gets abused.

Coding Help Focus is to develop testing & debugging skills To get debugging help in CSE116/504 Must start from a JUnit test case that you or I wrote Big goal in the course project has you write this I wrote tests used in most recitations & homeworks Staff will ask you to describe your debugging efforts Students find own solution once they start doing this If problem not fixed, gives us starting point to work Learn to fix your own errors & not rely on the Professor

Textbook William J. Collins, Data Structures and the Java Collections Framework, 3rd Edition, Wiley, 2011. Readings listed as chapter & section in schedule Available at bookstore & online (Amazon, etc.) Will be using almost all of this textbook Good resource in future terms so not horrible waste

Textbook William J. Collins, Data Structures and the Java Collections Framework, 3rd Edition, Wiley, 2011. Readings listed as chapter & section in schedule Available at bookstore & online (Amazon, etc.) Will be using almost all of this textbook Good resource in future terms so not horrible waste

Readings Other readings on web to supplement textbook (Supplement textbook == “not make you buy 2nd book”) Links available on web Most readings short, fun, & easy to follow Basic concepts explained using real-world examples Provide additional material not found in book

Course Website Handouts, slides, assignments posted before class www.cse.buffalo.edu/~mhertz/courses/cse116 Handouts, slides, assignments posted before class Can also find solutions after work is due May not include everything said in class Better than nothing, but worse than being here! Demo pages found on Angel before quitting

UBLearns UBLearns is one-stop shop for course information From course page, find links to all other websites Grades updated regularly so you can track progress Lectures are recorded and videos posted to UBLearns No site has everything needed for this course But you will find that UBLearns comes closest

For Next Lecture Mourn summer’s end as homework problems start Because of drop-add, this week’s due next Thurs. (9/7) There is no recitation this week – starts next week There is reading for Wednesday Website has link to reading on kinds of variables in Java