300 likes | 412 Views
CSE 1341-Honors Principles of CS I. Professor Mark Fontenot Southern Methodist University. Overview. Introductions Administrative Material – Syllabus & Outline What we’re going to cover in this class Step 1…. Course Staff. Professor Mark Fontenot Caruth 441 mfonten@lyle.smu.edu
E N D
CSE 1341-HonorsPrinciples of CS I Professor Mark Fontenot Southern Methodist University
Overview • Introductions • Administrative Material – Syllabus & Outline • What we’re going to cover in this class • Step 1…
Course Staff • Professor Mark Fontenot • Caruth 441 • mfonten@lyle.smu.edu • 214-768-2854 • Teaching Assistant - TBA
Office Hours • Official • WF 9 - 10 • Electronic • Send me email any time • Please Identify yourself and what class you are in • General Open Door Policy… • If my office door is open, feel free to come in and see if I’m available
Who are you? Class Introductions…
Getting Assistance • Please (please please) ask questions in class • Office Hours • CSE Help Desk • Located in CSE Dept Suite, 4th Floor Caruth • Staffed throughout the day by CSE department TAs. • Schedule forthcoming… Stay tuned!
Exams • 3 Exams throughout the semester • Will be taken in-class • Think of them as check-points to make sure we’re all on the same page. • No comprehensive final! • Make-ups not allowed unless you talk to the prof first.
Homework/Quizzes • Commonly assigned • Practice something we’ve learned or • Questions over class preparation material (such as reading, etc) • Some may be done right on Blackboard
Programming Projects • Opportunity to use something we’ve learned and put it into practice • Implement and test complete programs • Will be completed in and out of class (depending on how long it takes you) • Complete solutions will be zipped and submitted to Blackboard
Interdisciplinary Project ME, CSE and EE first-year class Based on Lego NXT platform Engineering in Action! Project Kick-off: Early/mid-September!
Attendance • You’ve got to come to class! • Your grade will reflect your attendance • Participating is required and essential • Don’t surf the net, do Sudoku puzzles, or txt at inappropriate times • Act like an adult…
Academic Ethics • Pillar of higher education: the work you produce should be your own. • SMU Honor Code Applies to all classes • If an assignment is to be done individually (i.e. exams), it is expected that they will be completed in that manner • If an assignment is collaborative, then you may work with your team members as much as you want (i.e. robotics project)
Inappropriate Collaboration • Penalties • 1st Occurrence – Zero on Assignment • 2nd Occurrence • F in course • Honor Council • We reserve the right to modify these penalties on a case-by-case basis.
Can you talk to your classmates? • Yes, yes, and yes! • Discuss concepts, ideas, and theories. • Study for exams • Review reading material together • Work on in-class assignments as appropriate • You know what’s right and what’s wrong…
What should you know? • How to use a computer • Navigate the file system • Files • Folders • How to zip and unzip files • Basic skills with Productivity Suite (i.e. Microsoft Office) • How to look things up on the web (i.e. Google) • Not expected to know anything about programming or Java. If you do, super! If not, don’t worry!
What’s this course about? • Fundamentally, this course is all about solving problems using a computer • Talk to/command computer using a programming language • Java in our case • You’re going to develop a set of skills which you will be able to use to solve problems using a computer …go go gadget for loop…
What do you need for this class? • Patience… Sometimes things don’t go as expected. • The textbook • Binder for handouts • A computer. • Laptop would be optimal but not required. • Mac, PC, Linux
What do you need for this class? • Software • Java 1.5 SDK or higher • Netbeans Development environment • Text editor • Notepad (PC) • TextEdit (Mac) • gEdit (Linux) • Hundreds of others to choose from…
Links to Bookmark • Course Website: http://lyle.smu.edu/~mfonten/cse1341h • All handouts, assignments, etc. posted here. • Blackboard: http://courses.smu.edu • You’ll upload completed assignments here • Some quizzes/homework may be completed directly in Blackboard
Let’s Start… How a computer scientist solves a problem…
What is Computer Science? • Study of computation • What is possible with a computer • How to solve problems “efficiently” using a computer • What does efficiently mean? • Tons of sub-disciplines • Database Systems • Security Engineering • Networking • Others?
What’s really the problem? • Figuring out the problem – vitally important • Why?
Design a Solution - Algorithms • An algorithm is • Sequence of steps • Solves a problem • Finishes after a finite number of steps (in a finite amount of time)
Algorithm Primitives • Make a decision • Do something multiple times If the lid is on the jar Unscrew and remove the lid If turning right engage right turn signal Else if turning left engage left turn signal For each piece of bread scoop peanut butter spread on piece of bread
Implement your solution • This is where Java (or other programming languages) enter the scene • Translate your solution/algo to source code • Syntax vs. Semantics • Syntax – rules of the programming language your using • Semantics – what to write - how to use the rules to your advantage public class Solution { public static void main (String [] args) { System.out.println(“Solving the problem”); //Other stuff } }
Testing the Implementation • Verify • Validate • Can’t ever test all possible scenarios (ask Microsoft!) • Very complex area – you can get a PhD in Software Testing
Maintenance • Add new features • Enhance old features • Fix bugs discovered by users • Piece of software will spend the majority of its live in this stage…
To Do List: • Read Ch 1 and 2 of Textbook • Ch 2 is most important for Wednesday • Install the Java SDK and Netbeans on your personal computer • Read your email