Programming for Engineers Introduction ICEN 200 Spring 2018 Prof. - - PowerPoint PPT Presentation

programming for engineers introduction
SMART_READER_LITE
LIVE PREVIEW

Programming for Engineers Introduction ICEN 200 Spring 2018 Prof. - - PowerPoint PPT Presentation

Programming for Engineers Introduction ICEN 200 Spring 2018 Prof. Dola Saha 1 Introductions Instructor Prof. Dola Saha, PhD University of Colorado Boulder http://www.albany.edu/faculty/dsaha/ dsaha@albany.edu Teaching


slide-1
SLIDE 1

1

Programming for Engineers Introduction

ICEN 200– Spring 2018

  • Prof. Dola Saha
slide-2
SLIDE 2

2

Introductions

Ø Instructor § Prof. Dola Saha, PhD University of Colorado Boulder § http://www.albany.edu/faculty/dsaha/ § dsaha@albany.edu Ø Teaching Assistant § Jorge Gomez Ø Students

slide-3
SLIDE 3

3

Information

Course Website Blackboard Lecture Slides Homework Assignments Class Calendar / Schedule Homework Submission Other Information Homework Solutions Announcements Grades

Ø Course Website:

§ https://www.albany.edu/faculty/dsaha/teach/2018Spring_CEN200/2018Spring_CEN20 0.html

Ø Blackboard:

§ https://blackboard.albany.edu/

slide-4
SLIDE 4

4

Office Hours

Instructor Teaching Assistant LI 89B LI 89 Monday – 12:30-1:30pm Tuesday – 12-1pm Wednesday – 11:30-12:30pm Thursday – 11-12pm By appointment

slide-5
SLIDE 5

5

Textbooks

Ø Required: § "C How to Program, 8th Edition", Paul Deitel and Harvey Deitel, Pearson Ø Reference: § "The C Programming Language", Brian W. Kernighan and Dennis Ritchie, Pearson § "Problem Solving and Program Design in C", Jeri R. Hanly and Elliot B. Koffman, Pearson

slide-6
SLIDE 6

6

Assignments & Grading

Ø Assignments § No late assignments will be accepted. § All assignments are due by 11:59PM on the due date in Blackboard. § Re-grading requests will be considered up to 5 business days after posting the grades for the corresponding assignment. Ø Grading § Attendance - 5% § Lab Assignments - 15% § Homework Assignments - 20% § Midterm 1 - 20% § Midterm 2 - 20% § Final Exam - 20%

slide-7
SLIDE 7

7

Academic Integrity

Ø Undergraduate Academic Regulations § http://www.albany.edu/undergraduate_bulletin/regulations.html Ø Academic Dishonesty § Plagiarism, Cheating on examinations, unauthorized collaboration, etc. Ø Practicing Academic Integrity § Citation Ø Penalties for Violation § Warning, lowering grade, failing grade

slide-8
SLIDE 8

8

What is Plagiarism?

Ø Getting code from the Internet Ø Asking someone else to write the code for you Ø Copying your friend’s code

slide-9
SLIDE 9

9

In Class Decorum

Ø No use of phones Ø No use of Computers / laptops Ø Computers will be used only when directed in the class Ø DO NOT browse random things in class Ø No crosstalk Ø No Food/Drink Ø Raise hand to ask questions

slide-10
SLIDE 10

10

Why this course?

slide-11
SLIDE 11

11

By end of the semester

Ø Demonstrate basic proficiency in the C programming

language.

Ø Formulate algorithms to solve basic computational problems. Ø Construct larger programs by identifying and solving sub-

problems.

Ø Apply basic concepts of software engineering. Ø Apply pointers, arrays, and structures correctly. Ø Apply dynamic memory allocation correctly. Ø Apply basic I/O operations to read and write data files. Ø Understand the basic concepts of algorithmic complexity. Ø Apply basic architectural concepts to program design.

slide-12
SLIDE 12

12

Course Calendar

Ø https://www.albany.edu/faculty/dsaha/teach/2018Spring_CE

N200/2018Spring_CEN200.html

slide-13
SLIDE 13

13

Practical use of Computers & Programming

Ø

Electronic Health Records

Ø

Human Genome Project

Ø

AMBER Alert

Ø

World Community Grid

Ø

Medical Imaging

Ø

One laptop per child

Ø

Cloud Computing

Ø

GPS

Ø

Robots

Ø

Email, Social Network

Ø

Internet TV

Ø

Game Programming

slide-14
SLIDE 14

14

Computers: Hardware & Software

Ø In use today are § more than a billion general-purpose computers, and § billions more embedded computers are used in cell phones, smartphones, tablet computers, home appliances, automobiles and more. Ø Computers can perform computations and make logical

decisions phenomenally faster than human beings can

slide-15
SLIDE 15

15

Terminology

Ø Computers process data under the control of sets of

instructions called computer programs

Ø These programs guide the computer through ordered

actions specified by people called computer programmers

Ø The programs that run on a computer are referred to as

software

slide-16
SLIDE 16

16

Moore’s Law

Ø The number of transistors in a dense integrated circuit

doubles approximately every two years.

slide-17
SLIDE 17

17

Computer Organization

Ø Input Unit Ø Output Unit Ø Memory Unit Ø Arithmetic & Logic Unit Ø Central Processing Unit Ø Secondary Storage Unit

slide-18
SLIDE 18

18

Programming Languages

High Level Language Assembly Language Machine Language Hardware Assembler Compiler Interpreter

slide-19
SLIDE 19

19

The C Language

Ø Currently, the most commonly-used language for

embedded systems

Ø Very portable: compilers exist for virtually every

processor

Ø Easy-to-understand compilation Ø Produces efficient code Ø Fairly concise

slide-20
SLIDE 20

20

C History

Ø Developed between 1969 and 1973 along with Unix Ø Due mostly to Dennis Ritchie Ø Designed for systems programming § Operating systems § Utility programs § Compilers § Filters Ø Evolved from B, which evolved from BCPL

slide-21
SLIDE 21

21

C History

Ø Original machine (DEC PDP-11)

was very small

§ 24K bytes of memory, 12K used for

  • perating system

Ø Written when computers were

big, capital equipment

§ Group would get one, develop new language, OS

slide-22
SLIDE 22

22

C – Built for Performance

Ø Operating Systems § Unix, Linux, Android, portions of Windows, OS-X built on Objective C Ø Embedded Systems § GPS, Intelligent Traffic Alert, Robots Ø Real-time Systems § Air traffic control, Industrial automation Ø Communication Systems Ø C-based programming languages § Objective C, Java, Visual C#

slide-23
SLIDE 23

23

C Program Development

slide-24
SLIDE 24

24

C Program Development

slide-25
SLIDE 25

25

C Program Development

slide-26
SLIDE 26

26

Environment to be used in class

Ø Cloud 9 § https://c9.io § Invitation will be sent to your albany.edu email to join