Intro, Syllabus, Policies - Users Web Sites

Download Report

Transcript Intro, Syllabus, Policies - Users Web Sites

CS 170 – INTRO TO
SCIENTIFIC AND
ENGINEERING
PROGRAMMING
Dr. Xenia Mountrouidou
Assistant Professor
Computing Science
Jacksonville University
CS150
2
Who am I?
• Dr. X – Computer Scientist
• PhD at North Carolina State University – Optical networks
performance
• Worked at IBM – Software Performance Engineer
• Post doc at College of William and Mary – research on
performance and power savings for hard disk drives
• Scuba diver, manga comics collector, science fiction
reader
CS150
Who am I?
3
CS 340
4
Course Objectives
• At the end of this class you will be able to:
• Solve engineering and scientific problems by devising simple
algorithms
• Develop solutions for science and engineering problems using
Matlab
• Understand basic concepts of computability and algorithm
complexity
• Use basic programming techniques: recursion, iteration, divide and
conquer
• Use basic algorithms in your programs: search, sorting, string
processing
So why learn about this stuff ?
• Useful for getting a job and providing you with the
tools for a wide variety of work
• Interesting in its own right
• It’s Fun!
• Guaranteed to become still more important
regardless of where you work or what you study
in the future
The CS 170 Promise
• You will leave this course with valuable programming
skills that will benefit you at work and study
• You may be intrigued enough to pursue the subject
further
• You will have some fun along the way and meet some
new cool people!
• You will have a useful digital vocabulary and will be
able to hold your own in any geeky conversations at
cocktail parties or social events
For those of you who are
aspiring capitalists:
Competence in Information Technology
is worth big bucks in the job market!
Bill Gates
Paul Allen
CS 340
9
Lectures
• We meet at 14:00-14:50, every M/W/F, at Merritt Penticoff
Science Bld, Room 122
• Check the schedule on the class webpage
• Reading and examples will be posted online on
Blackboard or the class website
• Lectures will be interactive. This means:
• You will need to study the new material before every lecture (slides
and book or online material)
• We will have a lab on every lecture, so you will need to code in
almost every lecture
CS 340
10
Lectures
• Interactive!
• Ask Questions
• Answer my questions
• During lectures I may demonstrate coding examples
• I encourage you to type the coding examples on your
computer
• Choices:
• Cell phones – MUST be silenced
• Using your cellphone, FB, Ebay, Twitter, Pintrest etc. … your choice
CS 340
11
How to get help
• Visit me during my office hours!
•
•
•
•
Mon 11 am -1 pm,
Tues: 1-3 pm,
Wed: 11-12 pm, 1-2 pm
at Merritt Penticoff, 2nd floor, Room 203
Visit the tutors at the library: John Leong, Nicole Buczkowski
Check the class website and BB frequently
Use the textbook – available on pdf on BB
Become members of the CS club
• Frequent tutoring sessions
• Fun meetings: video games, presentations, and building stuff (HW and
SW)
• Experiment with code. It’s Fun!
Dr. X’s Schedule
13
CS 340
Grading
Labs
10%
Homework
40%
Programming project
30%
Exam
20%
Total
100%
Homework and Programming projects will be posted
online on BlackBoard and on the class website
 You will upload your completed assignments on
BlackBoard (do not send me your solution on email)

CS 340
14
Programming Project
• It involves
• Design
• Coding
• Testing
• Debugging
• It can be done in pairs
You need to send me an e-mail until the end of the second week
of classes with your team members
• Each team member will evaluate his/her team mate
CS 340
15
Homework
• 3-4 homework assignments
• They will involve:
• Analytical thinking
• Computational thinking
• Programming (duh!)
• Homework will be completed in teams of maximum two
students
Labs
• 5-6 labs
• In class short coding assignments
• Individual submission but you can discuss the solutions
with each other
CS 340
17
Policies
• Cheating means “submitting, without proper attribution,
any computer code that is directly traceable to the
computer code written by another person.”
• Or even better:
• “Any form of cheating, including concealed notes during exams, copying or
allowing others to copy from an exam, students substituting for one
another in exams, submission of another person’s work for evaluation,
preparing work for another person’s submission, unauthorized
collaboration on an assignment, submission of the same or substantially
similar work for two courses without the permission of the professors.
Plagiarism is a form of Academic Misconduct that involves taking either
direct quotes or slightly altered, paraphrased material from a source
without proper citations and thereby failing to credit the original author.
Cutting and pasting from any source including the Internet, as well as
purchasing papers, are forms of plagiarism.”
• I give students F grade in the specific homework
• A second cheating attempt will be escalated to the chair of
the division of Science and Math
CS 340
Policies
• Read the collaboration policy carefully.
• Late policy:
1% is reduced by every day the assignment is late
18
CS 340
Principles of Pair Programming
Dilbert.com
19
CS 340
20
Principles of Pair Programming
• All I Really Need to Know about pair programming I
Learned in Kindergarten
• Share everything.
• Play fair.
• Don’t hit people.
• Put things back where you found them.
• Clean up your own mess.
• Don’t take things that aren’t yours.
• Say you’re sorry when you hurt somebody.
Questions about the
course???
The Computing Revolution
• Distant Pre-history (prior to 1945)
• Birth of Digital Computers around WWII
• Repeated revolutions since then with computing
technology becoming pervasive in almost all
areas technology, industry, entertainment and
science
How did we get from…
HERE….
To HERE …??????
Pervasive Computing
What is it and what does it mean to us?
25
Trend towards Pervasive Computing
size
one computer, many people
one computer, one person
one person, many computers
smart dust
number
The Machine
• Hardware: the physical components of the
computer - central processing unit, memory,
input-output devices
• Operating system: the program that serves as a
buffer between the user and the hardware
• Software: the applications one uses or writes to
get stuff done
Moore’s “Law”
• The number of transistors that can be manufactured into a
square inch of integrated circuit doubles every 18 months
or so. This means:
• The amount of memory that can be supplied for a given
cost doubles every 18 months or so and,
the speed of computation goes up by a factor of 2 about
every 1.5 years for the same cost!
Gordon Moore, co-founder Intel Corp
1965
Implications of Moore’s Law
• The Apple iPod that fits into your shirt pocket would have
occupied more space than this room 30 years ago!
• The equivalent amount of memory and computing power
in your average PC would have cost >$10M 25 years ago!
• If Moore’s law continues to hold, in 20 years a PC like
device will fit on a chip small enough to be injected into
your blood stream and perform a diagnostic on your heart
and send the results back using a wireless network.
Moore’s law in action
The Software Revolution
• Relatively few people actually “program” computers
• Users: do not have specialized computing knowledge
• Developers: develop software solutions
The Communications Revolution
• The Internet (email, world wide web, file transfers, mobile
computing, etc)
• The convergence of Computers
The Emergence A New “Law”
• “Bandwidth” (the amount of information one can pump
though a connection) doubles every nine months or so.
Bits ( = Binary Digits)
• Internally, all data in a digital device is memory is
stored in electronic devices that are either on or off
(binary).
• Thus all data can be thought of as being expressed
in “bits”, where on = 1 and off = 0.
(also expressed as true/false)
In future lectures we will understand how data can be
stored and manipulated in a binary system and incredible
speeds
The Digital (Re)-Evolution
Some Examples
Digital Documents (Email, E-Books)
Digital Music (CD)
Digital Imaging
Digital Video (DVD, Streaming)
Digital Television (HDTV)
Digital Communications (Internet, Wireless)
Digital Signatures and Identities!!!
In Other Words,
• Digital representation of information everywhere !!!
• Affects practically every aspect of modern life
• Similar to Medicine, advancements continue to occur at
an ever quickening pace
What are some of the negative implications of all of
this digital goodness?
Privacy issues
Massive Computer Fraud
Identity Theft
Intellectual property disputes and lawsuits
Questions
What is Computer Science?
A. The science of building computers
B. The science of developing programs
C. The science of developing programs and building
computers
D. The study of algorithms to solve problems and
optimize computers
• What is an algorithm?
A programming language
B. A program
C. A set of steps to solve a mathematical problem
D. A step by step procedure to solve a problem
A.
More Questions
• What is a programming language?
• Which programming languages have you heard of?
• Choices: which language would you use?
Summary
• Today’s digital and computer systems are far more
than computational and text processing tools
• They enable a new communication paradigm
• This paradigm is enhanced by the rapid expansion of
the Internet and the applications that ride on it
• It pervades society and everyday life in ways that we
rarely appreciate or think about
• In this class we will learn to be producers not just
consumers of the digital world
Questions?……