SlideShare a Scribd company logo
1 of 13
Advanced Programming
Sir Ymbhon
2
Overview
 Background
 What is Advanced Programming?
 Differences to “old” Software Engineering
 Who should be here?
 Syllabus
 Logistics
 Grading
3
Background
 Experimental course – trial run for
replacement for traditional CS 3156
(Software Engineering)
 Sequence:
 Intro: modules, few dozen lines
 DS: few hundred lines, stand-alone
 AP: larger programs, different languages
and styles
 OS, networking, ISP, …: specialized
knowledge
4
What is Advanced
Programming?
 Become comfortable with multiple languages
 Multiple programming styles
 Professional programming:
 program building
 multi-person code development
 systematic debugging
 performance tuning
 Goal: robust, performing, industrial-strength
code
5
Differences to Software
Engineering
 Less emphasis on software engineering
principles
 more on tools and techniques
 some SE is best read, rather than lectured
 hopefully, SE will make more sense
afterwards…
 CS4156 will remain
 Group programming project?
6
Who should be here?
 Know Java (and 313x), but no or little
C/C++
 Likely doing systems or general track
 Want to do well in OS, DB, Networks, …
 Interested in how real systems work
 Affinity for programming, not
complexity theory
7
Syllabus
 C programming language for Java
programmers (2 weeks, 2 assignments)
 summary of differences
 pre-processor
 strings
 stdio
 pointers and pointer arithmetic
 malloc/free
 unions
 function pointers
8
Syllabus
 Software development models, including
open source
 Software development tools:
 Unix
 make
 automake
 autoconf -- cross-platform development
 CVS
 doc++ and other documentation tools Oxygen
 gdb and DDD
 purify, ElectricFence
 truss
9
Syllabus
 profiling: gprof
 Windows
 Visual C
 Code Warrior
 Program models: data driven, event driven,
cgi, RPC, ...
 UML
 Data interchange
 classical Unix style
 serialization
 XML
10
Syllabus
 Scripting languages
 sh
 awk, sed
 Tcl, expect
 Perl
 Python
 Standard Unix system call interface:
 file access
 time and date manipulation
 system files
 process management
 signals
 getopt
 syslog
11
Syllabus
 Internationalization
 secure programming
 design patterns
 web programming models (servlets, cgi,
JavaScript, PHP, ...)
 web database interfaces (JDBC, mySQL, ...)
 Time permitting (these topics are also
covered in CS 4118):
 threads and concurrency
 shared memory
12
Grading
 Attendance, Attitude, Performance
30%, final exam 40%, homework
assignments 30%
 Group project(s) – If available
13
Assignments
 Weekly programming assignments
 To be done individually.
 Conform to coding style guidelines.
 You will lose points if you don't follow
the guidelines.

More Related Content

Similar to intro.pptx

Courses in Computer Programming
Courses in Computer ProgrammingCourses in Computer Programming
Courses in Computer Programmingmishkah123
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet developmentSynapseindiappsdevelopment
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel ArchitecturesJoel Falcou
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.pptMarcEdwards35
 
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systemsdairsie
 
.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep JoshiSpiffy
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareJoel Falcou
 
Summer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptxSummer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptxshokeenk14
 
A look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsA look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsDatabricks
 
SLM (Sample Lifecycle Manager)
SLM (Sample Lifecycle Manager)SLM (Sample Lifecycle Manager)
SLM (Sample Lifecycle Manager)limscoder
 
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskDeep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskSaurabh Saxena
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltreMarco Parenzan
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
05 Lecture - PARALLEL Programming in C ++.pdf
05 Lecture - PARALLEL Programming in C ++.pdf05 Lecture - PARALLEL Programming in C ++.pdf
05 Lecture - PARALLEL Programming in C ++.pdfalivaisi1
 

Similar to intro.pptx (20)

Linux Driver and Embedded Developer with Android Course Content & Highlights
Linux Driver and Embedded Developer with Android Course Content & HighlightsLinux Driver and Embedded Developer with Android Course Content & Highlights
Linux Driver and Embedded Developer with Android Course Content & Highlights
 
Courses in Computer Programming
Courses in Computer ProgrammingCourses in Computer Programming
Courses in Computer Programming
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet development
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.ppt
 
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
 
.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi
 
Memory models
Memory modelsMemory models
Memory models
 
Linux System and Kernel Programming Course Highlights - VedaSolutions
Linux System and Kernel Programming Course Highlights - VedaSolutionsLinux System and Kernel Programming Course Highlights - VedaSolutions
Linux System and Kernel Programming Course Highlights - VedaSolutions
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel Hardware
 
Summer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptxSummer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptx
 
01.intro
01.intro01.intro
01.intro
 
C#.net
C#.netC#.net
C#.net
 
A look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsA look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutions
 
Resume
ResumeResume
Resume
 
SLM (Sample Lifecycle Manager)
SLM (Sample Lifecycle Manager)SLM (Sample Lifecycle Manager)
SLM (Sample Lifecycle Manager)
 
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskDeep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
Presentation1
Presentation1Presentation1
Presentation1
 
05 Lecture - PARALLEL Programming in C ++.pdf
05 Lecture - PARALLEL Programming in C ++.pdf05 Lecture - PARALLEL Programming in C ++.pdf
05 Lecture - PARALLEL Programming in C ++.pdf
 

More from MelbornGatmaitan

Wika sa pilipino at mga tanghaw aralinss
Wika sa pilipino at mga tanghaw aralinssWika sa pilipino at mga tanghaw aralinss
Wika sa pilipino at mga tanghaw aralinssMelbornGatmaitan
 
Demo presentation grade 10 aquino.pptx
Demo presentation grade 10 aquino.pptxDemo presentation grade 10 aquino.pptx
Demo presentation grade 10 aquino.pptxMelbornGatmaitan
 
Introduction to Programming.pptx
Introduction to Programming.pptxIntroduction to Programming.pptx
Introduction to Programming.pptxMelbornGatmaitan
 
kelsey-banking-and-finance3.pptx
kelsey-banking-and-finance3.pptxkelsey-banking-and-finance3.pptx
kelsey-banking-and-finance3.pptxMelbornGatmaitan
 
INTERNATIONAL-TRADING-SYSTEM.pptx
INTERNATIONAL-TRADING-SYSTEM.pptxINTERNATIONAL-TRADING-SYSTEM.pptx
INTERNATIONAL-TRADING-SYSTEM.pptxMelbornGatmaitan
 
PARTICIPATION - ALL EVENTS.pptx
PARTICIPATION - ALL EVENTS.pptxPARTICIPATION - ALL EVENTS.pptx
PARTICIPATION - ALL EVENTS.pptxMelbornGatmaitan
 
JAYPEE-PPT-For-Oral-Defense1.pptx
JAYPEE-PPT-For-Oral-Defense1.pptxJAYPEE-PPT-For-Oral-Defense1.pptx
JAYPEE-PPT-For-Oral-Defense1.pptxMelbornGatmaitan
 

More from MelbornGatmaitan (12)

Wika sa pilipino at mga tanghaw aralinss
Wika sa pilipino at mga tanghaw aralinssWika sa pilipino at mga tanghaw aralinss
Wika sa pilipino at mga tanghaw aralinss
 
Demo presentation grade 10 aquino.pptx
Demo presentation grade 10 aquino.pptxDemo presentation grade 10 aquino.pptx
Demo presentation grade 10 aquino.pptx
 
PIAT-DEMO.pptx
PIAT-DEMO.pptxPIAT-DEMO.pptx
PIAT-DEMO.pptx
 
Sound.pptx
Sound.pptxSound.pptx
Sound.pptx
 
final demonstration.pptx
final demonstration.pptxfinal demonstration.pptx
final demonstration.pptx
 
Introduction to Programming.pptx
Introduction to Programming.pptxIntroduction to Programming.pptx
Introduction to Programming.pptx
 
kelsey-banking-and-finance3.pptx
kelsey-banking-and-finance3.pptxkelsey-banking-and-finance3.pptx
kelsey-banking-and-finance3.pptx
 
DYORJ-GA-2023-march.pptx
DYORJ-GA-2023-march.pptxDYORJ-GA-2023-march.pptx
DYORJ-GA-2023-march.pptx
 
INTERNATIONAL-TRADING-SYSTEM.pptx
INTERNATIONAL-TRADING-SYSTEM.pptxINTERNATIONAL-TRADING-SYSTEM.pptx
INTERNATIONAL-TRADING-SYSTEM.pptx
 
cert for judges 3.docx
cert for judges 3.docxcert for judges 3.docx
cert for judges 3.docx
 
PARTICIPATION - ALL EVENTS.pptx
PARTICIPATION - ALL EVENTS.pptxPARTICIPATION - ALL EVENTS.pptx
PARTICIPATION - ALL EVENTS.pptx
 
JAYPEE-PPT-For-Oral-Defense1.pptx
JAYPEE-PPT-For-Oral-Defense1.pptxJAYPEE-PPT-For-Oral-Defense1.pptx
JAYPEE-PPT-For-Oral-Defense1.pptx
 

Recently uploaded

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Recently uploaded (20)

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

intro.pptx

  • 2. 2 Overview  Background  What is Advanced Programming?  Differences to “old” Software Engineering  Who should be here?  Syllabus  Logistics  Grading
  • 3. 3 Background  Experimental course – trial run for replacement for traditional CS 3156 (Software Engineering)  Sequence:  Intro: modules, few dozen lines  DS: few hundred lines, stand-alone  AP: larger programs, different languages and styles  OS, networking, ISP, …: specialized knowledge
  • 4. 4 What is Advanced Programming?  Become comfortable with multiple languages  Multiple programming styles  Professional programming:  program building  multi-person code development  systematic debugging  performance tuning  Goal: robust, performing, industrial-strength code
  • 5. 5 Differences to Software Engineering  Less emphasis on software engineering principles  more on tools and techniques  some SE is best read, rather than lectured  hopefully, SE will make more sense afterwards…  CS4156 will remain  Group programming project?
  • 6. 6 Who should be here?  Know Java (and 313x), but no or little C/C++  Likely doing systems or general track  Want to do well in OS, DB, Networks, …  Interested in how real systems work  Affinity for programming, not complexity theory
  • 7. 7 Syllabus  C programming language for Java programmers (2 weeks, 2 assignments)  summary of differences  pre-processor  strings  stdio  pointers and pointer arithmetic  malloc/free  unions  function pointers
  • 8. 8 Syllabus  Software development models, including open source  Software development tools:  Unix  make  automake  autoconf -- cross-platform development  CVS  doc++ and other documentation tools Oxygen  gdb and DDD  purify, ElectricFence  truss
  • 9. 9 Syllabus  profiling: gprof  Windows  Visual C  Code Warrior  Program models: data driven, event driven, cgi, RPC, ...  UML  Data interchange  classical Unix style  serialization  XML
  • 10. 10 Syllabus  Scripting languages  sh  awk, sed  Tcl, expect  Perl  Python  Standard Unix system call interface:  file access  time and date manipulation  system files  process management  signals  getopt  syslog
  • 11. 11 Syllabus  Internationalization  secure programming  design patterns  web programming models (servlets, cgi, JavaScript, PHP, ...)  web database interfaces (JDBC, mySQL, ...)  Time permitting (these topics are also covered in CS 4118):  threads and concurrency  shared memory
  • 12. 12 Grading  Attendance, Attitude, Performance 30%, final exam 40%, homework assignments 30%  Group project(s) – If available
  • 13. 13 Assignments  Weekly programming assignments  To be done individually.  Conform to coding style guidelines.  You will lose points if you don't follow the guidelines.