Programming. Introduction to the course
|
|
- Oliver Fletcher
- 6 years ago
- Views:
Transcription
1 Programming Introduction to the course
2 Motivation 2
3 What is Programming? } Some definitions: } Telling a very fast moron exactly what to do } A plan for solving a problem on a computer } The process of developing and implementing various sets of instructions to enable a computer to do a certain task } Specifying the structure and behavior of a program } Testing that the program performs its task correctly according to some criteria! 3
4 Why Programming is Hard? } Ambition for the computer to do complex things } Computers are nitpicking, unforgiving and dumb beasts } The problems are more challenging that we d thought } So we don t always know the implications of what we want } To program is necessary to understand the problem } When you program, you spend significant time trying to understand the task you want to automate } Programming is part practical, part theory } Only practical knowledge will leave you with very hard issues to solve (e.g. how to sort values?) } Only theory knowledge doesn t solve anything 4
5 Why You Must Learn to Program? } Our civilization runs on software } Most engineering activities involve software } Many software does not run on PCs! } Much more than games, word processing, browsing, and spreadsheets! } Phones } Consoles } Cameras } Drones } MP3/DVD players } Routers } Televisions } Fridges } Toasters ;-) } Etc.. 5
6 Ships, Planes, Phones, etc 6
7 Course Aims } Practical programming using the C language } For beginners } Who desire to become professionals } i.e., to produce software systems that users will use } Who are assumed to be bright } Though not (necessarily) geniuses } Who are willing to work hard } Though do need to sleep occasionally 7
8 Key Objectives } Students must learn: } Fundamental programming concepts and methodologies } Some basic algorithms and data structures } Basic standard C language } After this course, you must be able to: } Write small/medium C programs } Understand much larger and complex programs } Learn the foundations of many other languages by yourself } Proceed with an advanced programming course (e.g. C++) } After this course, you will not be able: } To be an expert programmer } Or an expert user of advanced libraries 8
9 Pre-Requisites } None!!!!!!!! } For real, just some minimum concepts of computer science } File editing } Willingness to learn } Hard work 9
10 Course Professors } João Ascenso } Theory, labs and practical classes } joao.ascenso@tecnico.ulisboa.pt } } Instituto de Telecomunicações (Torre Norte) - Sala } Internal extension:
11 Course Professors } Nuno Horta } Problems and labs } nuno.horta@lx.it.pt } } Instituto de Telecomunicações (Torre Norte) 11
12 Course Professors } Bertinho Costa } Problems } bac@comp.ist.utl.pt } } INESC-ID } Internal extension:
13 Course Webpage: Fenix } Information about the course } Evaluation } Course description } Assignments } Schedule } News } Software } Textbooks } Grades } Etc.. 13
14 Theory Classes } Exposition to the course topics } Active learning approach } Indispensable } Assiduity (avoid at all cost skipping classes) } Self-study and experimentation } 1.0 hour before/after each class } Read the corresponding book chapter 14
15 Problems Classes } Concept, design and implementation of programs } Without computer (exception: 1 st class)!!!! } Writing in paper :P } Every two weeks } Registration is already performed } Advance preparation is necessary!!! } 1.5 hours before each class } Print the problem set } Careful reading of each problem } Solve each problem before 15
16 Laboratory Classes } Groups of 2 students } Solve practical exercises in the computer } Essential to prepare! } 1.5 hours before the class } Print, read and solve each of the exercises } 0.25 pts max by successfully solving one of the exercises } Specified by the professor at the beginning of each lab class! } Bi-weekly schedule } Registration must be made in FENIX } Starting at 17h30 of Monday (20 th of February) 16
17 General Help } Regular extra classes to help students } Schedule to be announced in the course webpage } Free access to all students } Best way to solve any doubts or get some help in debugging your programs } Other possibility } Send an to the professor } Write clear, concise and short s 17
18 Basic Rules } Attend each class! } Study the corresponding course materials } Before class!!! } Feedback is welcomed! } Prepare the labs } Program for real! } Read programs written by others 18
19 Rough Course Outline (1) } Introduction to programming } Algorithms, languages, syntax and semantics, flowcharts } Basic concepts } Program structure, comments, constants, variables, data types } Operators, expressions, console I/O } Flow control statements } Repetition statements } Functions and procedures } Declaration, invocation, scopes, function result, passing by value/reference } Strings } Reading and processing } File I/O, I/O streams } Opening and closing files 19
20 Rough Course Outline (2) } Arrays(vectors) } Declaration, indexing, data access and pointers } Multidimensional vectors and dynamic allocation } Pointers vs. arrays: different forms of the same phenomenon } Graphical user interfaces } Data structures } Declaring, using and initializing structures } Pointers to structures and arrays of structures } Data abstraction } Multiple files, #includes, libraries } Dynamic data types } Declaration, memory allocation, access } Stack, push and pop operations } List, insert and remove operations 20
21 Planning Week Date Problems Labs Plan Notes 1 19-Feb Course Presentation, Concepts 2 26-Feb X Concepts, Control flow 3 05-Mar X Loops, Functions 4 12-Mar X File I/O, Arrays 5 19-Mar X Strings, SDL Apr X Multi-Arrays, First Project Help 7 09-Apr X Pointers and Dynamic Memory Intermediate Project - 15th April 8 16-Apr X Structures, Enums and Unions 9 23-Apr X Compilation, Linked Lists Apr X Linked Lists, Stacks May X Queues May X Real-World Programming Study Cases May X Final Project Help Final Project - 24th May May Oral Discussions 21
22 Evaluation } First Project P1: 15% } Should be made individually by each student } Final Project (with oral discussion) P2: 35% } Made in groups of 2 students } Lab classes: 5% } Exam E: 45% } Minimum grades: } E >= 9.5 } P2 >= 10 && (P1*0.3+P2*0.7) >
23 Recommended Bibliography } The C Programming Language - The ANSI edition } Autor(es):Brian W. Kernighan e Dennis M. Ritchie } Fundamentos de Programação } Marques de Sá } Linguagem C } Luís Damas } Apontadores e Estruturas de Dados Dinâmicas em C } Fernando Mira da Silva 23
24 Computing Facilities } Laboratories with PCs installed with Linux } } Have a personal computer (laptop) } Recommended but not essential } Install Linux } Use VirtualBox on Windows } The use of proprietary compilers is forbidden } Turbo C, Visual C,... 24
25 Programming Software Development: Concepts and Tools
26 Software Development Cycle 26
27 Programming Steps Explained } Design step: } Definition of a solution (in paper) } Requires understanding the problem and possible solution (behavior) } Abstract the implementation details } Coding step: } Implement the solution using the programming language } Requires the understanding of a programming language } Syntax and semantic } May require the understanding of well-known methods to solve one or more steps } Compiling step: } Translates the high-level language (understood by us) to a low-level language (understood by the computer) } May lead to the discovery of syntax errors 27
28 Debugging } Discovery of the program bugs } Execute } Test } Inspect source code } Correct 28
29 Introduction to the C Language } Developed in the 1970s in conjunction with development of UNIX operating system } When writing an OS kernel, efficiency was crucial } UNIX originally written in low-level assembly language but there were problems: } No structured programming (e.g. encapsulating routines as functions, methods, etc.) code hard to maintain } Code worked only for particular hardware not portable } C takes a middle path between low-level assembly language } Direct access to memory layout through pointer manipulation } Concise syntax, small set of keywords } and a high-level programming language like Java 29
30 Standard C } Standardized in 1989 by ANSI (American National Standards Institute) known as ANSI C } International standard (ISO) in 1990 which was adopted by ANSI and is known as C89 } As part of the normal evolution process the standard was updated in 1995 (C95) and 1999 (C99) } C++ and C } C++ extends C to include support for Object Oriented Programming and other features that facilitate large software development projects } C is not strictly a subset of C++, but it is possible to write Clean C that conforms to both the C++ and C standards.
31 Compilation and Linking } C source code is first written by you (human readable) } Compiler translates what you wrote into object code } Simple enough for a computer to understand } Linker connects your code to some system code } Examples: input/output libraries, operating system code, etc. } A executable program is obtained } An.exe file on windows or an a.out file on Unix 31
32 Separate Compilation } A C program consists of source code in one or more files } Each source file is run through the preprocessor and compiler, resulting in a file containing object code } Object files are tied together by the linker to form a single executable program Source code file1.c Source code file2.c Preprocessor/ Compiler Preprocessor/ Compiler Object code file1.o Object code file2.o 32 Libraries Linker Executable code a.out
33 Separate Compilation } When a program is modified, a programmer only edits a few lines of source code each time } With separate compilation, only the files that have been changed since the last compilation need to be recompiled } For very large programs, this can save a lot of time 33
34 Preprocessor } The preprocessor receives source code and according to certain directives change it before compilation } Directive: a line of source code starting with the # symbol } The preprocessor works in a very crude way, simply cutting and pasting does not really know anything about C! Your source code Enhanced and obfuscated source code Object code Preprocessor Compiler 34
35 Programming End
Chapters 1 & 2 Programming and Programs
Chapters 1 & 2 Programming and Programs Instructor: Dr. Hyunyoung Lee Based on slides by Dr. Bjarne Stroustrup www.stroustrup.com/programming Abstract Today, we ll outline the aims for this course and
More informationChapters 1 & 2 Programming and Programs
Chapters 1 & 2 Programming and Programs Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/~hkaiser/fall_2010/csc1253.html Slides adapted from: Bjarne Stroustrup, Programming Principles and Practice
More informationCOMP1917: Computing 1 1. Introduction
COMP1917: Computing 1 1. Introduction Reading: Moffat, Chapter 1. COMP1917 15s2 Introduction 1 Course Web Site http://www.cse.unsw.edu.au/~cs1917/15s2 Please check this Web Site regularly for updated information,
More informationCOMP1917: Computing 1 1. Introduction
COMP1917: Computing 1 1. Introduction Reading: Moffat, Chapter 1. COMP1917 12s2 Introduction 1 Course Web Site http://www.cse.unsw.edu.au/~cs1917/12s2 Please check this Web Site regularly for updated information,
More information1. Introduction. Course Web Site. COMP1917: Computing 1. Textbook. Occupational Health and Safety (OHS)
COMP1917 14s2 Introduction 1 COMP1917: Computing 1 1. Introduction Reading: Moffat, Chapter 1. Course Web Site http://www.cse.unsw.edu.au/~cs1917/14s2 Please check this Web Site regularly for updated information,
More informationCNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description
CNG 140 C Programming 2012-2013 Fall Semester Syllabus Course Info Catalog Description Advanced programming with C: Storage and control structures, recursion and programming with dynamic data structures.
More informationCourse: Honors AP Computer Science Instructor: Mr. Jason A. Townsend
Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend Email: jtownsend@pkwy.k12.mo.us Course Description: The material for this course is the equivalent of one to two semesters of an entry
More informationComputer Science 210: Data Structures
Computer Science 210: Data Structures Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures design efficiency implementation
More informationCS120 Computer Science I. Instructor: Jia Song
CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340
More informationWelcome to... CS113: Introduction to C
Welcome to... CS113: Introduction to C Instructor: Erik Sherwood E-mail: wes28@cs.cornell.edu Course Website: http://www.cs.cornell.edu/courses/cs113/2005fa/ The website is linked to from the courses page
More informationIntro to Computer Science. Introductory Class
Intro to Computer Science Introductory Class First Syllabus Lets look at the outline Reverse Roll Call Lets see who is here Expectations So what is Computer Science? An Architectural Discipline Building
More informationBIL 104E Introduction to Scientific and Engineering Computing. Lecture 1
BIL 104E Introduction to Scientific and Engineering Computing Lecture 1 Introduction As engineers and scientists why do we need computers? We use computers to solve a variety of problems ranging from evaluation
More informationCS11002 Programming and Data Structures Spring Introduction
Title page CS11002 Programming and Data Structures Spring 2008 Goutam Biswas Abhijit Das Dipankar Sarkar Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Jan 04, 2008
More informationAdvanced Programming Concepts. CIS 15 : Spring 2007
Advanced Programming Concepts CIS 15 : Spring 2007 Mondays and Thursdays 12:15 pm to 1:30 pm 232 Ingersoll Extension Instructor: Chipp Jansen (not Tennenbaum as listed) E-mail: chipp@sci.brooklyn.cuny.edu
More informationSoftware Project. Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva
Software Project Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva Emails: (canetti/benriva)@post.tau.ac.il nathan.manor@gmail.com gideon@mta.ac.il http://www.cs.tau.ac.il/~roded/courses/soft-project10.html
More informationCIS* Programming
CIS*1300 - Programming CALENDAR DESCRIPTION This course examines the applied and conceptual aspects of programming. Topics may include data and control structures, program design, problem solving and algorithm
More informationBIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI PILANI CAMPUS Instruction Division
Second Semester 2017-2018 Course Handout (Part II) January08, 2017 In addition to part I (General Handout for all courses appended to the time table) this portion gives further specific details regarding
More informationIntroduction to Basis and Practice in Programming
Introduction to Basis and Practice in Programming Fall 2015 Jinkyu Jeong (jinkyu@skku.edu) 1 Course Overview Course Basics! Class hour GEDB029-45: Mon. 13:00 ~ 14:50 GEDB029-46: Tue. 13:00 ~ 14:50 1~2
More information3D Graphics Programming Mira Costa High School - Class Syllabus,
3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and
More informationComputer Systems and Networks. ECPE 170 University of the Pacific
ECPE 170 University of the Pacific Introduction 2 A Modern Computer 3 Applications 4 Application Angry Birds Written in a high level language (Objective C) What resources does Angry Birds need to run?
More informationCMPUT 201: Practical Programming Methodology. Guohui Lin Department of Computing Science University of Alberta September 2018
CMPUT 201: Practical Programming Methodology Guohui Lin guohui@ualberta.ca Department of Computing Science University of Alberta September 2018 Lecture 1: Course Outline Agenda: Course calendar description
More informationC LANGUAGE AND ITS DIFFERENT TYPES OF FUNCTIONS
C LANGUAGE AND ITS DIFFERENT TYPES OF FUNCTIONS Manish Dronacharya College Of Engineering, Maharishi Dayanand University, Gurgaon, Haryana, India III. Abstract- C Language History: The C programming language
More informationC Language, Token, Keywords, Constant, variable
C Language, Token, Keywords, Constant, variable A language written by Brian Kernighan and Dennis Ritchie. This was to be the language that UNIX was written in to become the first "portable" language. C
More informationCS 241 Data Organization. August 21, 2018
CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationCS19001/CS19002 Programming and Data Structures Lab Autumn/Spring Semester. Introduction. Abhijit Das. January 4, 2015
Title page CS19001/CS19002 Programming and Data Structures Lab Autumn/Spring Semester Introduction Abhijit Das Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur January
More informationCOSC 2P95. Introduction. Week 1. Brock University. Brock University (Week 1) Introduction 1 / 18
COSC 2P95 Introduction Week 1 Brock University Brock University (Week 1) Introduction 1 / 18 Lectures and Labs Lectures are Thursdays, from 3pm 5pm (AS/STH 217) There are two lab sections Lab 1 is Mondays,
More informationintroduction week 1 Ritsumeikan University College of Information Science and Engineering Ian Piumarta 1 / 20 imperative programming about the course
week 1 introduction Ritsumeikan University College of Information Science and Engineering Ian Piumarta 1 / 20 class format 30 minutes (give or take a few) presentation 60 minutes (give or take a few) practice
More informationCS 240 Fall 2015 Section 004. Alvin Chao, Professor
CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's
More informationCS11001/CS11002 Programming and Data Structures Autumn/Spring Semesters. Introduction
Title page CS11001/CS11002 Programming and Data Structures Autumn/Spring Semesters Introduction Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Last modified: July
More informationComputer Science (Informática)
Computer Science (Informática) (Code 600005) Bachelor s Degree on Electronics and Industrial Automation Engineering (G60) Universidad de Alcalá Academic Year 2018/2019 1st Course 1st Semester COURSE GUIDE
More information! Mon, May 5, 2:00PM to 4:30PM. ! Closed book, closed notes, clean desk. ! Comprehensive (covers entire course) ! 30% of your final grade
Final Exam Review Final Exam Mon, May 5, 2:00PM to 4:30PM CS 2308 Spring 2014 Jill Seaman Closed book, closed notes, clean desk Comprehensive (covers entire course) 30% of your final grade I recommend
More informationCS Programming In C
CS 24000 - Programming In C Week Two: Basic C Program Organization and Data Types Zhiyuan Li Department of Computer Science Purdue University, USA 2 int main() { } return 0; The Simplest C Program C programs
More informationCourse Title: C Programming Full Marks: Course no: CSC110 Pass Marks: Nature of course: Theory + Lab Credit hours: 3
Detailed Syllabus : Course Title: C Programming Full Marks: 60+20+20 Course no: CSC110 Pass Marks: 24+8+8 Nature of course: Theory + Lab Credit hours: 3 Course Description: This course covers the concepts
More informationLecture 1: Preliminaries
Lecture 1: Preliminaries Edgardo Molina Department of Computer Science City College of New York August 30, 2011 Edgardo Molina (CS@CCNY) Lecture 1 August 30, 2011 1 / 44 Info and Schedule Course Info and
More informationEL2310 Scientific Programming
Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and
More informationFeatures of C. Portable Procedural / Modular Structured Language Statically typed Middle level language
1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC
More informationCS313T ADVANCED PROGRAMMING LANGUAGE
CS313T ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 1 : Introduction Lecture Contents 2 Course Info. Course objectives Course plan Books and references Assessment methods and grading
More informationCOMP Data Structures
COMP 2140 - Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 35 Introduction COMP 2140 - Data Structures 1 / 35
More informationSyllabus of ENPM 691: Secure Programming in C
Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:
More informationLECTURE/ STUDY NOTES ON C
LECTURE/ STUDY NOTES ON C PART I (Overview of C Programming) Introduction of C language History of C Importance of C Demerits of C Basic Structure of C Working steps of C compiler Source Code Object Code
More informationPROGRAMMAZIONE I A.A. 2017/2018
PROGRAMMAZIONE I A.A. 2017/2018 PROGRAMMING LANGUAGES A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output. Programming languages
More informationCOMP Data Structures
Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. 1 / 35 Introduction Introduction 1 / 35 Introduction In a Glance... Data structures are building blocks for designing
More informationProgram Analysis And Its Support in Software Development
Program Analysis And Its Support in Software Development Qing Yi class web site: www.cs.utsa.edu/~qingyi/cs6463 cs6463 1 A little about myself Qing Yi B.S. Shandong University, China. Ph.D. Rice University,
More informationSyllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview
Course Number: CS 361 Course Title: Control Structures Course Description: Syllabus CS 361. CONTROL STRUCTURES (3). Discusses basic concepts of computer organization. Develops a precise and logical methodology
More informationBIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II
SECOND SEMESTER 2016-2017 Course Handout Part II In addition to part-i (General Handout for all courses appended to the time table) this portion gives further specific details regarding the course. Course
More informationProgramming for Problem Solving 105A L T P Credit Major Minor Total Time
ES- Programming for Problem Solving 105A L T P Credit Major Minor Total Time Test Test 3 - - 3 75 25 100 3h Purpose To familiarize the students with the basics of Computer System and C Programming Course
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Course and contact information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours: Section 4
More informationAE Computer Programming for Aerospace Engineers
AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section
More informationBLM2031 Structured Programming. Zeyneb KURT
BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help
More informationBoca Raton Community High School AP Computer Science A - Syllabus 2009/10
Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,
More informationLaboratory Assignment #4 Debugging in Eclipse CDT 1
Lab 4 (10 points) November 20, 2013 CS-2301, System Programming for Non-majors, B-term 2013 Objective Laboratory Assignment #4 Debugging in Eclipse CDT 1 Due: at 11:59 pm on the day of your lab session
More informationEE 209: Programming Structures for Electrical Engineering
EE 209: Programming Structures for Electrical Engineering 1 Goals for Today s Class Course overview Introductions Course goals Resources Grading Policies Getting started with C C programming language overview
More informationWelcome to MCS 360. content expectations. using g++ input and output streams the namespace std. Euclid s algorithm the while and do-while statements
Welcome to MCS 360 1 About the Course content expectations 2 our first C++ program using g++ input and output streams the namespace std 3 Greatest Common Divisor Euclid s algorithm the while and do-while
More informationCS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University
CS415 Compilers Overview of the Course These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Critical Facts Welcome to CS415 Compilers Topics in the
More informationAccelerated C++: Practical Programming By Example Free Ebooks PDF
Accelerated C++: Practical Programming By Example Free Ebooks PDF This is a first-rate introductory book that takes a practical approach to solving problems using C++. It covers a much wider scope of C++
More informationObject-Oriented Programming Fall Robert Grimm, New York University
1 Object-Oriented Programming Fall 2012 Robert Grimm, New York University 2 What Is Object-Oriented Programming? Computer programming that emphasizes the structure of data and their encapsulation with
More informationITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS
ITT Technical Institute ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 67 (41 Theory Hours, 26 Lab Hours Prerequisite(s and/or Corequisite(s:
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (Labs) Spring 2019 Course and Contact Information Instructor: Ron Mak Office Location:
More informationCSCI 8530 Advanced Operating Systems
CSCI 8530 Advanced Operating Systems Prof. Stanley Wileman Computer Science Department University of Nebraska at Omaha http://cs2.ist.unomaha.edu/~stanw Last update: 1/10/2017 Introductions and Expectations
More informationEECE.2160: ECE Application Programming Spring 2019
Course Meetings Section 201: MWF 8-8:50, Kitson 305 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp19/ Schedule: http://mjgeiger.github.io/eece2160/sp19/schedule.htm
More informationProgramming. Data Structure
Programming & Data Structure For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Programming and Data Structures Programming in C, Arrays, Stacks, Queues, Linked
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 04: Introduction to C Readings: Chapter 1.5-1.7 What is C? C is a general-purpose, structured
More informationObject-Oriented Programming CSCI-UA
Object-Oriented Programming CSCI-UA 0470-001 Instructor: Thomas Wies Spring 2017 Class 1 - Introduction Object-oriented programming is an exceptionally bad idea which could only have originated in California.
More informationC & Data Structures syllabus
syllabus Overview: C language which is considered the mother of all languages, is and will be the most sought after programming language for any beginner to jump start his career in software development.
More informationBeijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus
Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus Course Personnel: Instructor Name: Jovan Ilić Office: TBD Phone: TBD e-mail: TBD Teaching Assistants Name: TBD Office: TBD
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationStructure of this course. C and C++ Past Exam Questions. Text books
Structure of this course C and C++ 1. Types Variables Expressions & Statements Alastair R. Beresford University of Cambridge Lent Term 2008 Programming in C: types, variables, expressions & statements
More informationPractical Programming Methodology
General Course Information Practical Programming Methodology (CMPUT-2) Lecture Michael Buro Introduction to the course Computer architecture Section home page: www.cs.ualberta.ca/ mburo/courses/2 news,
More informationInstructor. Mehmet Zeki COSKUN Assistant Professor at the Geodesy & Photogrammetry, Civil Eng. (212)
Instructor Mehmet Zeki COSKUN Assistant Professor at the Geodesy & Photogrammetry, Civil Eng. (212) 285-6573 coskunmeh@itu.edu.tr http://atlas.cc.itu.edu.tr/~coskun Address Consultation of Students: Monday
More informationThe C Programming Language
The C Programming Language What is C? "High-level" programming language developed by Dennis Ritchie with Brian Kernighan Bell Labs, New Jersey, 1970s Developed in conjunction with Unix Intended to provide
More informationOutline. Computer Science 331. Course Information. Assessment. Contact Information Assessment. Introduction to CPSC 331
Outline Computer Science 331 Introduction to CPSC 331 Mike Jacobson Department of Computer Science University of Calgary Lecture #1 1 Contact Information 2 3 Expected Background 4 How to Succeed 5 References
More informationEE 209: Programming Structures for Electrical Engineering. (Many Slides Borrowed from Princeton COS 217)
EE 209: Programming Structures for Electrical Engineering (Many Slides Borrowed from Princeton COS 217) 1 Goals for Today s Class Course overview Introduction Course goals Resources Grading Policies Getting
More informationAP Computer Science A Syllabus
AP Computer Science A Syllabus Course Overview The focus of this class is structured logic with an emphasis on developing simple, elegant algorithms and thinking in an object-oriented manner. The Java
More informationSpring 2018 NENG 202 Introduction to Computer Programming
Spring 2018 NENG 202 Introduction to Computer Programming Introductory programming course based on the C language Course Website: http://www.albany.edu/~yx152122/neng202-18.html Instructor: Prof. Y. Alex
More informationCSci Introduction to Operating Systems. Administrivia, Intro
CSci 4061 Introduction to Operating Systems Administrivia, Intro Me: Welcome to 4061! Jon Weissman CS Professor circa 1999 Call me Jon TAs: Zach Leidall, Francis Liu, Fei Wu, Parag Panda, Gaurav Khandelwal
More informationG. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool
G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool-518014 BRANCH: COMPUTER SCIENCE AND ENGINEERING COURSE DESCRIPTION FORM Course Title Course Code Regulation Course
More informationMinistry of Higher Education and Scientific research
Department of IT Technical Institute of Amedi Duhok Polytechnic University Subject: Database System Course Book: Year 2 (Second year) Lecturer's name: Dipl.Eng.Shorash A. Sami Academic Year: 2018/2019
More informationDuring the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.
Description of CPSC 301: This is a 2-unit credit/no credit course. It is a course taught entirely in lab, and has two required 2-hour 50-minute lab sessions per week. It will review, reinforce, and expand
More informationProgramming in C and C++
Programming in C and C++ Types, Variables, Expressions and Statements Neel Krishnaswami and Alan Mycroft Course Structure Basics of C: Types, variables, expressions and statements Functions, compilation
More informationUnit 1: Introduction to Programming. Saurabh Khatri Lecturer Department of Computer Technology VIT, Pune
Unit 1: Introduction to Programming Saurabh Khatri Lecturer Department of Computer Technology VIT, Pune Syllabus Unit 1: Introduction to Programming Unit 2: Flow of Control and Functions Unit 3: Arrays
More information378: Machine Organization and Assembly Language
378: Machine Organization and Assembly Language Spring 2010 Luis Ceze Slides adapted from: UIUC, Luis Ceze, Larry Snyder, Hal Perkins 1 What is computer architecture about? Computer architecture is the
More informationEECE.2160: ECE Application Programming Spring 2017
Course Meetings Section 201: MWF 8-8:50, Ball 314 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp17/ Schedule: http://mjgeiger.github.io/eece2160/sp17/schedule.htm
More informationCS 0449 Intro to Systems Software Fall Term: 2181
CS 0449 Intro to Systems Software Fall Term: 2181 Class Recitation Recitation Recitation Time: 11:00am 12:15pm 03:00pm 03:50pm 10:00am 10:50am 09:00am 09:50am Days: TH T W F Number 19730 20024 19731 27127
More informationSKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)
SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2
More informationMonday, August 28, 2017
Monday, August 28, 2017 Topics for today Course in context. Course outline, requirements, grading. Administrivia: Tutoring: Department, PLTL, LRC Knowledge Survey The concept of a multi-level machine Motivations
More informationKOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)
Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department
More informationCSci 5103 Operating Systems. Jon Weissman. Administrivia
CSci 5103 Operating Systems Jon Weissman Administrivia Greetings Welcome to CSci 5103! me: Jon Weissman, Professor CS office hours M 1-2pm, 4-225F KH or when I am around interests: distributed and parallel
More information15-411/ Compiler Design
15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching
More informationCPSC 427: Object-Oriented Programming
CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 1 August 29, 2018 CPSC 427, Lecture 1, August 29, 2018 1/30 About This Course Topics to be Covered Kinds of Programming Why C++? C++ Programming
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More information(heavily based on last year s notes (Andrew Moore) with thanks to Alastair R. Beresford. 1. Types Variables Expressions & Statements 2/23
Structure of this course Programming in C: types, variables, expressions & statements functions, compilation, pre-processor pointers, structures extended examples, tick hints n tips Programming in C++:
More informationComputing and compilers
Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer
More informationIntroduction to programming
Introduction to programming Duración: 5 Días Código del Curso: M10975 Temario: In this 5-day course, students will learn the basics of computer programming through the use of Microsoft Visual Studio 2013
More informationEP241 Computer Programming
EP241 Computer Programming Topic 1 Dr. Ahmet BİNGÜL Department of Engineering Physics University of Gaziantep Modifications by Dr. Andrew BEDDALL Department of Electric and Electronics Engineering Sep
More informationUnit. Programming Fundamentals. School of Science and Technology INTRODUCTION
INTRODUCTION Programming Fundamentals Unit 1 In order to communicate with each other, we use natural languages like Bengali, English, Hindi, Urdu, French, Gujarati etc. We have different language around
More informationCOMP 250. Lecture 36 MISC. - beyond COMP final exam comments
COMP 250 Lecture 36 MISC - beyond COMP 250 - final exam comments Dec 5, 2016 1 202 Intro Program MATH (prereqs for many upper level COMP courses) 206 Software Systems 273 Computer Systems 250 Intro Comp
More informationChapter 1 Introduction to Computers and C++ Programming
Chapter 1 Introduction to Computers and C++ Programming 1 Outline 1.1 Introduction 1.2 What is a Computer? 1.3 Computer Organization 1.7 History of C and C++ 1.14 Basics of a Typical C++ Environment 1.20
More information