CSCE 489- Problem Solving Programming Strategies Spring 2018

Slides:



Advertisements
Similar presentations
CVs & Telephone Skills Top Tips to remember …
Advertisements

Debugging Introduction to Computing Science and Programming I.
Java Data Types Data types, variable declaration, and initialization.
CS101 Computer Programming I Chapter 4 Extra Examples.
Conditional Statements.  Quiz  Hand in your jQuery exercises from last lecture  They don't have to be 100% perfect to get full credit  They do have.
1 Running Experiments for Your Term Projects Dana S. Nau CMSC 722, AI Planning University of Maryland Lecture slides for Automated Planning: Theory and.
___________________ 1 GradeBot School of Computing Copyright 2004, BYU Hawaii – All rights reserved. School of Computing Brigham Young University Hawaii.
Instructor: Chris Trenkov Hands-on Course Python for Absolute Beginners (Spring 2015) Class #003 (February 14, 2015)
Mental Arithmetic Strategies Scotts Primary School. Mental Arithmetic Scheme.
Section 2 Effective Groupwork Online. Contents Effective group work activity what is expected of you in this segment of the course: Read the articles.
BIT116: Scripting Lecture 05
Memory Management.
Questions.
AP CSP: Cleaning Data & Creating Summary Tables
Introduction to Computing Science and Programming I
Proceed to Slide 2 to begin
Mental Arithmetic Strategies
Mr Barton’s Maths Notes
Handling Exceptionally Sticky Problems
How Many Ways Can 945 Be Written as the Difference of Squares?
The Software Development Cycle
10.3 Details of Recursion.
Addressing Pushback from Patients
What does “assertiveness” mean?
English Proficiency Workshop
Binary Addition and Subtraction
Programming 101 Programming for non-programmers.
What do you do if you if you don’t agree on something?
Algebra 6. Factorising Quadratics
Tips for Writing Free Response Questions on the AP Statistics Exam
Tips for Writing Free Response Questions on the AP Statistics Exam
Programming – Touch Sensors
LO Adding and subtracting with negative numbers RAG
Cracking the Coding Interview
Some Basics for Problem Analysis and Solutions
PLAGIARISM Don’t Be A Copy Rat!
Writing Methods AP Computer Science A.
Title of notes: Text Annotation page 7 right side (RS)
Stress and Support By: Kayli Tempro 7Ma.
Run For Your Life Early Warning System OR Damage Zones
John and Betty's Journey into Complex Numbers
Hash Tables Chapter 12 discusses several ways of storing information in an array, and later searching for the information. Hash tables are a common.
EXAM STRESS Learning objectives Learning outcomes
Applying for a TA Position in CSE
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Survey Summary CSCE 489 Spring 2019
Word Problems extra information.
How To Handle The Irate Customer
Killer Project Management Best Practices
All goals are not created equally.
OPINIONS GIVING ASKING / CLARIFYING AGREE DISAGREE
Great News! You got an interview!
SSEA Computer Science: Track A
Hash Tables Chapter 12 discusses several ways of storing information in an array, and later searching for the information. Hash tables are a common.
Why Academic Integrity Matters
Building Java Programs
Building Java Programs
Handling Exceptionally Sticky Problems
Conversations Starting and Stopping.
Arrays.
Review of Previous Lesson
Templates An introduction.
CSCE 206 Lab Structured Programming in C
Building Java Programs
CS31 Discussion 1D Fall18: week 2
The while Looping Structure
Cognitive Flexibility Hypertext Assignment March 20, 2002
How Do You Feel? 1. Work in pairs and do the questionnaire.
The Software Development Cycle
Lecture 6 - Recursion.
Presentation transcript:

CSCE 489- Problem Solving Programming Strategies Spring 2018 Academic Honesty CSCE 489- Problem Solving Programming Strategies Spring 2018

Academic Honesty As a special topics course, you should be taking this to improve your own skills. Cheating counteracts the reason you are taking this class! Since problems are public, it may be possible to find a public solution to the problem. THIS IS NOT OK TO LOOK AT!!! If you are caught copying code or having unallowed collaboration, you should expect a very strong penalty (no less than an F*) in the course. Since it is in some ways “easier” to cheat, a higher-than average penalty should be expected if it does happen.

So, what is/is not allowed? If you have not solved the problem, you probably should not look at someone else’s code. If you have solved the problem, you should be careful about the level of discussion you have with others. You can always discuss with others what a question is asking – making sure you understand what is being asked in the question. You generally should not discuss the actual way to solve the problem. After the deadline (in the “upsolving” week afterward) feel free to discuss the problem, read descriptions of solutions, etc. But, you still should not look at code. You get partial credit for the upsolving because it shows you can still translate ideas into code, even if you could not come up with the solution! You may use some common sense for getting help from others with small debugging issues, syntax problems, language feature issues, etc.

The Goal The goal is for you to determine how to solve a problem (what the right algorithm/approach is), implement it, and test it. Things that interfere with that are not OK. You preventing others from coming up with their own solution, or you getting the solution from others, interferes with that. If you can’t come up with the solution yourself – that is what the upsolving period is for. You need to use some common sense. The idea is not to prevent all discussion of problems

If in doubt Ask the instructor or teaching assistant! Better to err on the side of caution. Don’t ask others to put themselves in compromising situations!

Examples To (hopefully) clarify what is and is not OK, I will give a lot of examples here to illustrate what is and is not OK.

Example conversations (OK or not?) “We’re supposed to read in coordinates. Do we need to handle floating point numbers or just integers?” “I just read in integers and it worked fine.”

Example conversations (OK or not?) “We’re supposed to read in coordinates. Do we need to handle floating point numbers or just integers?” “I just read in integers and it worked fine.” Yes, this is OK. It is part of understanding the problem itself. Now, hopefully the problem specified this, so a better answer might be “read the question!”

Example conversations (OK or not?) “Is this one we’re supposed to use a dynamic programming approach for, or does a greedy approach work?” “You need to use a dynamic programming approach. The greedy one won’t handle all the cases.”

Example conversations (OK or not?) “Is this one we’re supposed to use a dynamic programming approach for, or does a greedy approach work?” “You need to use a dynamic programming approach. The greedy one won’t handle all the cases.” Not OK. This goes to how to solve a problem, rather than understanding what the problem is asking.

Example conversations (OK or not?) “Can you look at my code and see why I’m not getting the total number correct?” “You’re double-counting some cases – you need to make sure you’re counting each solution only once.”

Example conversations (OK or not?) “Can you look at my code and see why I’m not getting the total number correct?” “You’re double-counting some cases – you need to make sure you’re counting each solution only once.” Probably not OK. This seems to be asking someone to look at your code and tell you if your solution method is right or not; the response is dealing with how to solve the problem. The response would be OK during the upsolve period if the person responding had solved the problem already.

Example conversations (OK or not?) “Can you look at my code to tell me why this angle computation isn’t working?” “It looks like you need to convert from degrees to radians.”

Example conversations (OK or not?) “Can you look at my code to tell me why this angle computation isn’t working?” “It looks like you need to convert from degrees to radians.” Probably OK, although looking at code is not a great idea. Here, the problem is one dealing with a language feature, not actually a solution to the program. If the answer were “You don’t want to compute the angle – just use the Pythagorean Theorem.” that would not be appropriate, except during the upsolve period.

Example conversations (OK or not?) “How do I check for end of input when I don’t know how many lines to read?” “If you try to read a line, then you can check whether cin.eof() is true to see if you’ve read to the end of input.”

Example conversations (OK or not?) “How do I check for end of input when I don’t know how many lines to read?” “If you try to read a line, then you can check whether cin.eof() is true to see if you’ve read to the end of input.” This is OK – it is a more general language issue. Although it might be needed for the problem, it’s not the point of the problem.

Example conversations (OK or not?) “I’m trying to create a pair of pairs, but keep getting a compile error. Do you know what the problem is?” “You need to have an extra space in between your closing brackets, so that it’s clear you’re ending a template, not writing a steam operator.”

Example conversations (OK or not?) “I’m trying to create a pair of pairs, but keep getting a compile error. Do you know what the problem is?” “You need to have an extra space in between your closing brackets, so that it’s clear you’re ending a template, not writing a steam operator.” Yes, this is OK – it has to do with basic syntax and how to use language features. pair<pair<int, int>, pair<int, int>> pair<pair<int, int>, pair<int, int> >

Example conversations (OK or not?) “Hey – I solved problem C. That was tricky.” “I’ve been trying but keep failing on test case 4.” “Oh, that got me, too. Make sure you are handling the case when the input is 0.”

Example conversations (OK or not?) “Hey – I solved problem C. That was tricky.” “I’ve been trying but keep failing on test case 4.” “Oh, that got me, too. Make sure you are handling the case when the input is 0.” Not OK. This is going to the specific test cases that can cause things to fail. The best response would be to stop at “Oh, that got me too.” A borderline answer would be “Make sure you’re handling edge cases.”