1 / 12

Systems Programming Intro

Systems Programming Intro. Course Objectives: #1 RTE’s. סביבת הרצה. Building programs that interact with sophisticated Run-Time Environments (RTE) Key idea: programs are always created relative to other programs Interaction RTEs provide services/resources Programs we create exploit them.

Download Presentation

Systems Programming Intro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systems Programming Intro

  2. Course Objectives: #1 RTE’s סביבת הרצה • Building programs that interact with sophisticated Run-Time Environments (RTE) • Key idea: programs are always created relative to other programs • Interaction • RTEs provide services/resources • Programs we create exploit them

  3. Metaphor: air traffic control tower

  4. Course Objectives: #1 RTE’s (cont’d) • 4 generic services: • Concurrency management • Memory management • Communication and networking • Persistent data management (file organization and database usage with SQL). • Compare RTEs: Unix, Win32 OS, Java Virtual Machine (JVM), Servlets, distributed RTEs.

  5. Course Objectives: #2: Programming • Gaining experience and exposure to good practices for mid-size programming: • Intensive hands-on programming in pairs. • Learn C++ and systematically compare it to Java • Explain how programming languages provide an abstraction layer above RTE • Acquisition of good programming habits: documentation, code metrics verification, design patterns, unit testing, test driven development.

  6. Course Workflow • Website: http://www.cs.bgu.ac.il/~spl111/Main • Experiment and explore: 4 large programming assignments + small HW’s • Lab sessions: run and experiment with code

  7. Contact • Questions regarding an assignment: email to TA in charge • Questions regarding an assignment checking: email to assignment checker. • In e-mail state: name, id, group number

  8. Textbooks and Internet Resources • Concurrent Programming in Java (2nd edition) • Computer Networking (2nd edition) • Effective Java, (2nd edition) • Accelerated C++ • Effective C++ (2nd edition) • More Effective C++ • Effective STL

  9. Course Requirements • Experience programming = heavy workload • Do weekly HW right after practical session • Start working on the assignments as soon as you get them

  10. Course Requirements: Weekly Homeworks • Each practical session will have a small HW assignment. • Immediate hands-on experience with class material • Very simple!!! require only an hour or two • Submission is obligatory.

  11. Course Requirements: Assignments • 4 big programming assignments • Weight of each assignment in final grade 5% • Assignments must be submitted in pairs • Final Exam: weight in final grade is 80%.

  12. Passing Criteria • Submit at least 10 weekly homework • Get grade >= 1 in each of 4 assignments • Final exam grade >= 56. • Overall average grade >= 56.

More Related