1 CSE 1341 Southern Methodist University Lyle School of Engineering Computer Science and Engineering Dept. Fall 2013 Don Evans
Dec 26, 2015
1
CSE 1341
Southern Methodist UniversityLyle School of Engineering
Computer Science and Engineering Dept.
Fall 2013Don Evans
2
Things I know…
• This is a required class in several degree programs, including all Engineering degrees.
• Some students take this class who don’t want to be here.• Most of you have used computers since you were children.• Some of you have never written a computer program.• Some of you have written many computer programs.• Many of you are anxious about your ability to succeed in this
class.• Many of you are in your first or second year of college and
still adapting to the challenges it presents.• Some of you are here for the second time…welcome back!
3
Things you should know…• This class requires a lot of work – it will keep you busy!
– Once you get behind it’s increasingly difficult to catch up– You are in lecture two and half hours, and in lab two hours a week– Programming assignments (labs) may take from 1-8+ hours to
complete– Quiz preparation requires additional time– Exam preparation requires additional time
• I’m hopeful that every one of you will earn an A.
4
Also…
• Don’t hesitate to email me or come by my office. – I can’t often reply right away, but I will always reply.– It is fun to help students who are working hard and trying– Don’t bother calling me if your car broke down or your alarm didn’t go off.
There’s nothing either of us can do to fix unfortunate occurrences.
• If you own a laptop, you may bring it to class and lab– We will practice writing code in some classes, and this offers you the
opportunity to better follow, practice and learn.– BUT…Do not use it for email, Facebook, or other class assignments.
• If you are using your cellphone in class, I will probably notice– And I’ll probably assume that this class is not a priority for you– Please exercise self discipline and ignore it until after class
5
Blackboard:courses.smu.edu
SyllabusLecture NotesResourcesAnnouncementsLab Assignments-Instructions-Turn in hereGrades
7
Collaboration:• Preparing for quizzes – YES• Preparing for exams – YES• Taking quizzes/exams – NO• Completing lab assignments – NO
Instead: • CSCE Help Desk• Lab sessions/lab instructor• Office hours and help sessions• ALEC
Collaboration on lab assignments
constitutes an honor code violation.
Collaboration on lab assignments
constitutes an honor code violation.
I DO NOT TOLERATE CHEATING…
9
Success Factors:Please do:•Come to class on time.•Find a classmate to get notes from in case you miss due to illness.•Participate in class and lectures.•Be 100% engaged and present for 50 minutes three times a week.•Utilize office hours, lab sessions, and the CSE help desk.•Feel free to study together for quizzes and exams. (not lab assignments)
Please don’t:•Skip class…ever.•Collaborate on lab assignments.•Ask for a makeup quiz, exam, or lab extension (unless you have an official university absence)•Ask for extra credit…however, you may drop one lab and one quiz grade.
10
Motivation for Learning• Software (i.e., the instructions you write) controls hardware
hardware (i.e., computers). • Computer use is increasing in almost every field of
endeavor. • Computing costs are dropping dramatically. • More than a billion general-purpose computers are in use
worldwide.• Computer Software is pervasive – it affects most aspects of
our personal and professional lives.
12
Programming• You’ll learn to write instructions commanding computers to
perform tasks. • Over the years, many programmers learned structured
programming. • You’ll learn structured programming and object-oriented
programming—the key programming methodology used by programmers today.
• You’ll create and work with many software objects. – Their internal structure is often built using structured-programming
techniques. • The logic of manipulating objects is occasionally expressed
with structured programming.
13
Java• Java is one of today’s most popular languages for
developing software. • Java has become the language of choice for implementing
Internet-based applications and software for devices that communicate over a network.
• There are now billions of Java-enabled mobile phones and handheld devices.
• Java is the preferred language for meeting many organizations’ enterprise wide programming needs.
Java programming is not the primary goal.However, it is an essential tool to achieve the goal.
Java programming is not the primary goal.However, it is an essential tool to achieve the goal.
14
Java We will use Java Standard Edition (Java SE) Version 6 (or higher) Java Enterprise Edition (Java EE)
geared toward developing large-scale, distributed networking applications and web-based applications.
Java Micro Edition (Java ME) geared toward developing applications for small, memory-constrained
devices, such as cell phones, pagers and PDAs.
15Source: http://www.facweb.iitkgp.ernet.in/~pds/notes/intro.html
Today: Multi-Core
Computer Hardware
16
Input/Output Hardware
Processing Hardware
Software
Operating System
Non-JavaApplication Java Virtual
Machine
JavaApplication
What we’ll be building….