C Programming for Engineers Introduction

Similar documents
Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization using C

Introduction to Computer Systems

Introduction to Computer Systems

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

Syllabus of ENPM 691: Secure Programming in C

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

CSE 504: Compiler Design

COMP1917: Computing 1 1. Introduction

Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)

EECE.2160: ECE Application Programming Spring 2019

CISC 3130 Data Structures Spring 2018

1. Introduction. Course Web Site. COMP1917: Computing 1. Textbook. Occupational Health and Safety (OHS)

CS 211 Programming I for Engineers

Introduction to Information Technology ITP 101x (4 Units)

Trina Gregory. Background. Contact

Course and Unix Intro

CS 375 UNIX System Programming Spring 2014 Syllabus

CS 113: Introduction to

CS 3270 Mobile Development for Android Syllabus

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

COMP1917: Computing 1 1. Introduction

CSE506: Operating Systems CSE 506: Operating Systems

Fundamentals of Programming. Lecture 1: Introduction to C Programming

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

AE Computer Programming for Aerospace Engineers

ESET 349 Microcontroller Architecture, Fall 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Welcome to CSE 4300! Spring 2018

CS 0449 Intro to Systems Software Fall Term: 2181

Database Security MET CS 674 On-Campus/Blended

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

CS/SE 153 Concepts of Compiler Design

CS120 Computer Science I. Instructor: Jia Song

When does RDBMS representation make sense When do other representations make sense. Prerequisites: CS 450/550 Database Concepts

CSc 2310 Principles of Programming (Java) Jyoti Islam

CISC 3130 Data Structures Fall 2018

CS240: Programming in C

CIS 408 Internet Computing (3-0-3)

Computer Science Department

CSE506: Operating Systems CSE 506: Operating Systems

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Computer Science Technology Department

Cleveland State University

MSIS-DL 317 Syllabus. Faisal Akkawi, Ph.D. Introduction to Databases Fall 09

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

Operating Systems, Spring 2015 Course Syllabus

Syllabus for HPE 120 Dance Aerobic Proficiency 0.0 Credit Hour Spring 2012

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

Introduction to UNIX

CSE 240 Introduction to Computer Architecture

COURSE SYLLABUS AND INSTRUCTOR PLAN

CS503 Advanced Programming I CS305 Computer Algorithms I

Introduction to Computer Systems

Fundamentals of Programming (C)

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

MET CS 674 C1/EL Spring 2017: DATABASE SECURITY SYLLABUS

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

General Course Information. Catalogue Description. Objectives

Introduction to C Programming 計算機程式設計

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

EECE.2160: ECE Application Programming Spring 2017

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Advanced Programming Concepts. CIS 15 : Spring 2007

Welcome to CS 241 Systems Programming at Illinois

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

SE 4472a: Information Security

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

You must pass the final exam to pass the course.

Computer Science Department CSC 1050 CRN Introduction to Unix and C Programming Fall Term 2016 Main Campus

Internet Web Technologies ITP 104 (2 Units)

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

TTh 9.25 AM AM Strain 322

CSCI 6312 Advanced Internet Programming

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

Welcome to... CS113: Introduction to C

ECE 467 Section 201 Network Implementation Laboratory

CMPE 152 Compiler Design

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Spring 2016

Trina Gregory. Background. Contact

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

What is a computer? Units of Measurement. - A machine that: - Counts.

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI PILANI CAMPUS Instruction Division

ELEC 2520 Embedded Systems Engineering II

Developing Web Applications and Services Course Syllabus Fall 2015

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci

Introduction to Data Structures

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Introduction to Basis and Practice in Programming

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

ISM 324: Information Systems Security Spring 2014

EE 209: Programming Structures for Electrical Engineering. (Many Slides Borrowed from Princeton COS 217)

Transcription:

C Programming for Engineers Introduction ICEN 360 Spring 2017 Prof. Dola Saha 1

Introductions Instructor Prof. Dola Saha, PhD University of Colorado Boulder http://www.albany.edu/faculty/dsaha/ dsaha@albany.edu Students 2

Information Course Website: http://www.albany.edu/faculty/dsaha/teach/2017spring_cen360/2017spring_cen36 0.html Blackboard: https://blackboard.albany.edu/ Course Website Lecture Slides Class Calendar / Schedule Other Information Blackboard Homework Assignments Homework Submission Homework Solutions Announcements Grades 3

Office Hours Where: BA 312 When: Tuesday 1:15-2:15PM Thursday 2:00-3:00PM By appointment. 4

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 5

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 and class Participation - 5% Class Assignments - 15% Homework Assignments - 40% Midterm 1-10% Midterm 2-10% Final Exam - 20% 6

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 7

In Class Decorum No use of phones No use of Computers / laptops Computers will be used only when directed in the class No crosstalk No Food/Drink Raise hand to ask questions 8

Why this course? 9

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 subproblems. 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. 10

Course Calendar Sdkfj Arduino 11

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 12

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 13

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 14

Moore s Law The number of transistors in a dense integrated circuit doubles approximately every two years. 15

Computer Organization Input Unit Output Unit Memory Unit Arithmetic & Logic Unit Central Processing Unit Secondary Storage Unit 16

Programming Languages High Level Language Assembly Language Interpreter Machine Language Hardware Assembler Compiler 17

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 18

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 19

C History Original machine (DEC PDP-11) was very small 24K bytes of memory, 12K used for operating system Written when computers were big, capital equipment Group would get one, develop new language, OS 20

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# 21

C Program Development 22

C Program Development 23

C Program Development 24

Environment to be used in class Cloud 9 https://c9.io Invitation will be sent to your albany.edu email to join 25