Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | damon-fowler |
View: | 216 times |
Download: | 1 times |
CSE 1341-HonorsPrinciples of CS I
Professor Mark FontenotSouthern Methodist University
Overview
Introductions
Administrative Material – Syllabus & Outline
What we’re going to cover in this class
Step 1…
Office Hours
OfficialTuesday: 9:30 – 10:30
Friday: 9:00 – 10:00
ElectronicSend 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 DeskLocated in the SIC
Staffed throughout the day by CSE department TAs.
Schedule forthcoming… Stay tuned!
Course Evaluation
Exams25%
Programming Projects
30%
Interdisci-plinary Project30%
Homework/Quizzes
10%
Participation5%
Exams
3 Exams throughout the semester
Will be taken in-class or take-home
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 learnedor
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 ProjectME, CSE and EE first-year class
Based on Lego NXT platform
Engineering in Action!
Project Kick-off – Mid-September!
Attendance
You’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 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
Penalties1st Occurrence – Zero on Assignment
2nd OccurrenceF 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…
The Class…
What should you know?
How to use a computerNavigate 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
SoftwareJava 1.5 SDK or higher
Netbeans Development environment
What do you need for this class?
SoftwareJava 1.5 SDK or higher
Netbeans Development environment
Text editorNotepad (PC)
TextEdit (Mac)
gEdit (Linux)
Hundreds of others to choose from…
Links to Bookmark
Blackboard – http://courses.smu.eduAll handouts, assignments, etc. posted here.
You’ll upload completed assignments here
Some quizzes/homework may be completed directly in Blackboard
How To Think Like A Computer Scientist – http://www.greenteapress.com/thinkapjava/thinkapjava.pdf
Title is a joke mostly
Succinct explanation of concepts
Will use in conjunction with textbook you bought
Let’s Start…How a computer scientist solves a problem…
What is Computer Science?
Study of computationWhat is possible with a computer
How to solve problems “efficiently” using a computer
What does efficiently mean?
Tons of sub-disciplinesDatabase Systems
Security Engineering
Networking
Others?
What’s really the problem?
Figuring out the problem – vitally importantWhy?
Design a Solution - Algorithms
An algorithm isSequence 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 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 scene
Translate your solution/algo to source code
Syntax vs. SemanticsSyntax – 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 Ch1 of Head First Java and Ch1 of TLACS
Make sure you complete the survey on Blackboard
Install the Java SDK and Netbeans on your personal computer
Read your email