SlideShare a Scribd company logo
1 of 18
Systems
Programming Course
Gustavo Rodriguez-Rivera
CS Common Core Courses
 Problem Solving and Object Oriented
Programming
 Programming in C
 Foundations of Computer Science
 Data Structures and Algorithms
 Computer Architecture
 Systems Programming
Objective
 Consolidate the programming skills from
the previous core courses.
 The System Programming course
concentrates on how programs run in user
space and how the interact with the OS.
 It does not cover OS internals. That will be
covered in the Operating Systems Course.
Objective (cont.)
 It solidifies the programming skills by
having the students write large programs
(>1000 lines).
 The students will use tools like IDEs,
debuggers, profilers, and source control to
help them write good and maintainable
code.
 The students will learn how to work on
teams.
Objective (cont.)
 Use of Scripting Languages.
 The students will learn to write multi-
process and multi-threaded programs.
Topics
 Address space. Structure of a Program. Text,
Data, BSS, Stack Segments.
 Review of Pointers, double pointers, pointers to
functions
 Use of an IDE and debugger to program in C
and C++.
 Executable File Formats. ELF, COFF, a.out.
 Development Cycle, Compiling, Assembling,
Linking. Static Libraries
 Loading a program, Runtime Linker, Shared
Libraries.
Topics (cont.)
 Scripting Languages. sh, bash, basic UNIX
commands.
 File creation, read, write, close, file mode.
 IO redirection, pipes
 Fork, wait, waitpid, signals.
 Directories, creating, directory list.
 Project: Writing your own shell.
 Source Control Systems (CVS, SVN) and
distributed (GIT, Mercurial)
Topics (cont.)
 Programming with Threads, thread creation.
 Race Conditions, Mutex locks.
 Socket Programming.
 Iterative and concurrent servers.
 Project: Implementing your own web server with
threads and process concurrency.
 Memory allocation. Problems with memory
allocation. Memory Leaks, Premature Frees,
Memory Smashing, Double Frees.
 Execution Profiling.
Textbook
 No official Textbook.
Class Notes
Selected Documents and Tutorials available
in the Internet
 Recommended Textbook.
Advanced Programming in the UNIX
Environment, Addison-Wesley, 1992.
Credits
 Dr. Douglas Comer wrote the initial
proposal for the Systems Programming
Course.
 The proposal was reviewed by Tim Korb,
Gustavo Rodriguez-Rivera and the
Systems Faculty.
Hardware Lab in the
Computer Architecture
Course
By Gustavo Rodriguez-Rivera
Introduction
 We want to teach the students that computer
programs are everywhere and not only in
Windows, Linux, and Macintosh computers.
 The students also program in
 Robots
 Phones
 Embedded Processors
 The students get hands on experience with both
hardware and software.
The Hardware Kit
 The students buy a kit from the department at cost.
 The kit contains, breadboard, wires, gates, PIC18
processor, LED display, speaker, and everything they
need to do projects with the PIC18 processor.
 PIC 18 processor:
 8 bit architecture
 2K RAM, 64KB Flash Memory for Programs
 USB communication
 Digital Input/Outputs, Analog inputs
 Timers, interrupts
 Assembly and C programming with Microchip’s MPLAB IDE
The Hardware Kit
Programming the PIC18
 The students write the Assembly or C
program in a PC running Windows and the
the MPLAB IDE environment.
 The program is assembled/compile and
downloaded to the PIC18 using a
programmer called PICKit2.
The MPLAB IDE
Projects
 Implementing a 7-Segment display
decoder using AND, OR, NOT gates.
 Ambient light using an RGB Full Color
LED, Pulse Wide Modulation (PWM),
push buttons, and the segment display.
 Configurable Alarm Clock with selectable
ring tones and interrupts.
 Interfacing the PC and a servo motor
using the USB port.
Thanks!
You are invited to see some of the student’s
projects here in the room.
The URL of the course is
http://www.cs.purdue.edu/homes/cs250

More Related Content

Similar to SystemsProgrammingCourse FSDFFSFDSDSDSFSFS (20)

Btech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageBtech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c language
 
Alvaro Denis Resume
Alvaro Denis ResumeAlvaro Denis Resume
Alvaro Denis Resume
 
Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
SrinivasaVithal_CV
SrinivasaVithal_CVSrinivasaVithal_CV
SrinivasaVithal_CV
 
Surya resume
Surya resumeSurya resume
Surya resume
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
oyedele_resume_updated
oyedele_resume_updatedoyedele_resume_updated
oyedele_resume_updated
 
Unit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionUnit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introduction
 
Sambhab_Mohapatra
Sambhab_MohapatraSambhab_Mohapatra
Sambhab_Mohapatra
 
krishna
krishna krishna
krishna
 
DIPAK INGLE_RESUME_final
DIPAK INGLE_RESUME_finalDIPAK INGLE_RESUME_final
DIPAK INGLE_RESUME_final
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet development
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
prathibha resume
prathibha resumeprathibha resume
prathibha resume
 
Mini Project- Internet Security Mechanisms
Mini Project- Internet Security MechanismsMini Project- Internet Security Mechanisms
Mini Project- Internet Security Mechanisms
 
Profile Rajkumar
Profile RajkumarProfile Rajkumar
Profile Rajkumar
 
Updated_resume
Updated_resumeUpdated_resume
Updated_resume
 
Chandra_CV 3 8Yr Exp
Chandra_CV 3 8Yr Exp Chandra_CV 3 8Yr Exp
Chandra_CV 3 8Yr Exp
 
Kavita resume startup
Kavita resume startupKavita resume startup
Kavita resume startup
 

More from meharikiros2

Emerging chap asasasasasawwqwqwwqwewewr4.pptx
Emerging chap asasasasasawwqwqwwqwewewr4.pptxEmerging chap asasasasasawwqwqwwqwewewr4.pptx
Emerging chap asasasasasawwqwqwwqwewewr4.pptxmeharikiros2
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
chapter1lecturenotes sdsdasdddadad(2).ppt
chapter1lecturenotes sdsdasdddadad(2).pptchapter1lecturenotes sdsdasdddadad(2).ppt
chapter1lecturenotes sdsdasdddadad(2).pptmeharikiros2
 
Lab Session for sql programming language 1.pptx
Lab Session for sql programming language 1.pptxLab Session for sql programming language 1.pptx
Lab Session for sql programming language 1.pptxmeharikiros2
 
RIFLI-Computer-Basics-Part-1-1 lecture not
RIFLI-Computer-Basics-Part-1-1  lecture notRIFLI-Computer-Basics-Part-1-1  lecture not
RIFLI-Computer-Basics-Part-1-1 lecture notmeharikiros2
 
Lecture 01 - CS193Jxcxcxcx Summer 2003.ppt
Lecture 01 - CS193Jxcxcxcx Summer 2003.pptLecture 01 - CS193Jxcxcxcx Summer 2003.ppt
Lecture 01 - CS193Jxcxcxcx Summer 2003.pptmeharikiros2
 
JavaAdvanced programming for expertes dsd
JavaAdvanced programming for expertes dsdJavaAdvanced programming for expertes dsd
JavaAdvanced programming for expertes dsdmeharikiros2
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppmeharikiros2
 
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJmeharikiros2
 
This is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculumThis is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculummeharikiros2
 

More from meharikiros2 (11)

Emerging chap asasasasasawwqwqwwqwewewr4.pptx
Emerging chap asasasasasawwqwqwwqwewewr4.pptxEmerging chap asasasasasawwqwqwwqwewewr4.pptx
Emerging chap asasasasasawwqwqwwqwewewr4.pptx
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
chapter1lecturenotes sdsdasdddadad(2).ppt
chapter1lecturenotes sdsdasdddadad(2).pptchapter1lecturenotes sdsdasdddadad(2).ppt
chapter1lecturenotes sdsdasdddadad(2).ppt
 
Lab Session for sql programming language 1.pptx
Lab Session for sql programming language 1.pptxLab Session for sql programming language 1.pptx
Lab Session for sql programming language 1.pptx
 
RIFLI-Computer-Basics-Part-1-1 lecture not
RIFLI-Computer-Basics-Part-1-1  lecture notRIFLI-Computer-Basics-Part-1-1  lecture not
RIFLI-Computer-Basics-Part-1-1 lecture not
 
Lecture 01 - CS193Jxcxcxcx Summer 2003.ppt
Lecture 01 - CS193Jxcxcxcx Summer 2003.pptLecture 01 - CS193Jxcxcxcx Summer 2003.ppt
Lecture 01 - CS193Jxcxcxcx Summer 2003.ppt
 
JavaAdvanced programming for expertes dsd
JavaAdvanced programming for expertes dsdJavaAdvanced programming for expertes dsd
JavaAdvanced programming for expertes dsd
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cpp
 
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
 
This is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculumThis is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculum
 
ITET-4.pptx
ITET-4.pptxITET-4.pptx
ITET-4.pptx
 

Recently uploaded

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 

Recently uploaded (20)

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 

SystemsProgrammingCourse FSDFFSFDSDSDSFSFS

  • 2. CS Common Core Courses  Problem Solving and Object Oriented Programming  Programming in C  Foundations of Computer Science  Data Structures and Algorithms  Computer Architecture  Systems Programming
  • 3. Objective  Consolidate the programming skills from the previous core courses.  The System Programming course concentrates on how programs run in user space and how the interact with the OS.  It does not cover OS internals. That will be covered in the Operating Systems Course.
  • 4. Objective (cont.)  It solidifies the programming skills by having the students write large programs (>1000 lines).  The students will use tools like IDEs, debuggers, profilers, and source control to help them write good and maintainable code.  The students will learn how to work on teams.
  • 5. Objective (cont.)  Use of Scripting Languages.  The students will learn to write multi- process and multi-threaded programs.
  • 6. Topics  Address space. Structure of a Program. Text, Data, BSS, Stack Segments.  Review of Pointers, double pointers, pointers to functions  Use of an IDE and debugger to program in C and C++.  Executable File Formats. ELF, COFF, a.out.  Development Cycle, Compiling, Assembling, Linking. Static Libraries  Loading a program, Runtime Linker, Shared Libraries.
  • 7. Topics (cont.)  Scripting Languages. sh, bash, basic UNIX commands.  File creation, read, write, close, file mode.  IO redirection, pipes  Fork, wait, waitpid, signals.  Directories, creating, directory list.  Project: Writing your own shell.  Source Control Systems (CVS, SVN) and distributed (GIT, Mercurial)
  • 8. Topics (cont.)  Programming with Threads, thread creation.  Race Conditions, Mutex locks.  Socket Programming.  Iterative and concurrent servers.  Project: Implementing your own web server with threads and process concurrency.  Memory allocation. Problems with memory allocation. Memory Leaks, Premature Frees, Memory Smashing, Double Frees.  Execution Profiling.
  • 9. Textbook  No official Textbook. Class Notes Selected Documents and Tutorials available in the Internet  Recommended Textbook. Advanced Programming in the UNIX Environment, Addison-Wesley, 1992.
  • 10. Credits  Dr. Douglas Comer wrote the initial proposal for the Systems Programming Course.  The proposal was reviewed by Tim Korb, Gustavo Rodriguez-Rivera and the Systems Faculty.
  • 11. Hardware Lab in the Computer Architecture Course By Gustavo Rodriguez-Rivera
  • 12. Introduction  We want to teach the students that computer programs are everywhere and not only in Windows, Linux, and Macintosh computers.  The students also program in  Robots  Phones  Embedded Processors  The students get hands on experience with both hardware and software.
  • 13. The Hardware Kit  The students buy a kit from the department at cost.  The kit contains, breadboard, wires, gates, PIC18 processor, LED display, speaker, and everything they need to do projects with the PIC18 processor.  PIC 18 processor:  8 bit architecture  2K RAM, 64KB Flash Memory for Programs  USB communication  Digital Input/Outputs, Analog inputs  Timers, interrupts  Assembly and C programming with Microchip’s MPLAB IDE
  • 15. Programming the PIC18  The students write the Assembly or C program in a PC running Windows and the the MPLAB IDE environment.  The program is assembled/compile and downloaded to the PIC18 using a programmer called PICKit2.
  • 17. Projects  Implementing a 7-Segment display decoder using AND, OR, NOT gates.  Ambient light using an RGB Full Color LED, Pulse Wide Modulation (PWM), push buttons, and the segment display.  Configurable Alarm Clock with selectable ring tones and interrupts.  Interfacing the PC and a servo motor using the USB port.
  • 18. Thanks! You are invited to see some of the student’s projects here in the room. The URL of the course is http://www.cs.purdue.edu/homes/cs250