cse 1341-honors principles of cs i
Post on 23-Feb-2016
24 Views
Preview:
DESCRIPTION
TRANSCRIPT
CSE 1341-HonorsPrinciples of CS I
Professor Mark FontenotSouthern Methodist University
OverviewIntroductionsAdministrative Material – Syllabus & OutlineWhat we’re going to cover in this classStep 1…
Course StaffProfessor Mark Fontenot
Caruth 441mfonten@lyle.smu.edu214-768-2854
Teaching Assistant - TBA
Office HoursOfficial
WF 9 - 10
ElectronicSend me email any timePlease 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 AssistancePlease (please please) ask questions in classOffice HoursCSE Help Desk
Located in CSE Dept Suite, 4th Floor CaruthStaffed throughout the day by CSE department TAs.Schedule forthcoming… Stay tuned!
Course Evaluation
Exams25%
Programming Projects
30%
Interdisci-plinary Project30%
Homework/Quizzes
10%
Participation5%
Exams3 Exams throughout the semesterWill be taken in-classThink 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/QuizzesCommonly assignedPractice something we’ve learned
orQuestions over class preparation material (such as reading, etc)Some may be done right on Blackboard
Programming ProjectsOpportunity to use something we’ve learned and put it into practiceImplement and test complete programsWill be completed in and out of class (depending on how long it takes you)Complete solutions will be zipped and submitted to Blackboard
Interdisciplinary ProjectME, CSE and EE first-year class
Based on Lego NXT platform
Engineering in Action!
Project Kick-off: Early/mid-September!
AttendanceYou’ve got to come to class!
Your grade will reflect your attendance
Participating is required and essentialDon’t surf the net, do Sudoku puzzles, or txt at inappropriate times
Act like an adult…
Academic EthicsPillar of higher education: the work you produce should be your own.SMU Honor Code Applies to all classesIf an assignment is to be done individually (i.e. exams), it is expected that they will be completed in that mannerIf an assignment is collaborative, then you may work with your team members as much as you want (i.e. robotics project)
Inappropriate Collaboration
Penalties1st Occurrence – Zero on Assignment2nd Occurrence
F in courseHonor 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 examsReview reading material togetherWork on in-class assignments as appropriate
You know what’s right and what’s wrong…
The Class…
What should you know?How to use a computer
Navigate the file systemFilesFolders
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 textbookBinder for handoutsA computer.
Laptop would be optimal but not required. Mac, PC, Linux
What do you need for this class?
SoftwareJava 1.5 SDK or higherNetbeans Development environmentText editor
Notepad (PC)TextEdit (Mac)gEdit (Linux)Hundreds of others to choose from…
Links to BookmarkCourse Website:
http://lyle.smu.edu/~mfonten/cse1341hAll handouts, assignments, etc. posted here.
Blackboard: http://courses.smu.edu
You’ll upload completed assignments hereSome quizzes/homework may be completed directly in Blackboard
Let’s Start…How a computer scientist solves a problem…
What is Computer Science?
Study of computationWhat is possible with a computerHow to solve problems “efficiently” using a computerWhat does efficiently mean?
Tons of sub-disciplinesDatabase SystemsSecurity EngineeringNetworkingOthers?
What’s really the problem?
Figuring out the problem – vitally importantWhy?
Design a Solution - Algorithms
An algorithm isSequence of stepsSolves a problemFinishes after a finite number of steps (in a finite amount of time)
Algorithm PrimitivesMake a decision
Do something multiple times
If the lid is on the jarUnscrew and remove the lid
If turning rightengage right turn signal
Else if turning leftengage left turn signal
For each piece of breadscoop peanut butterspread on piece of bread
Implement your solutionThis is where Java (or other programming
languages) enter the sceneTranslate your solution/algo to source codeSyntax vs. Semantics
Syntax – rules of the programming language your usingSemantics – 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 ValidateCan’t ever test all possible scenarios (ask Microsoft!)Very complex area – you can get a PhD in Software Testing
MaintenanceAdd new featuresEnhance old featuresFix bugs discovered by usersPiece 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 computerRead your email
top related