CSE 1341-Honors Principles of CS I

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

Recommended