systems programming intro
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
SPL/2010SPL/2010
Systems Programming Intro
1
SPL/2010SPL/2010
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
2
הרצה סביבת
SPL/2010SPL/2010
Metaphor: air traffic control tower
3
SPL/2010SPL/2010
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.
4
SPL/2010SPL/2010
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.
5
SPL/2010SPL/2010
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
6
SPL/2010SPL/2010
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
7
SPL/2010SPL/2010
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
8
SPL/2010SPL/2010
Course Requirements
● Experience programming = heavy workload
● Do weekly HW right after practical session
● Start working on the assignments as soon as you get them
9
SPL/2010SPL/2010
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.
10
SPL/2010SPL/2010
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%.
11
SPL/2010SPL/2010
Passing Criteria
● Submit at least 10 weekly homework● Get grade >= 1 in each of
4 assignments● Final exam grade >= 56.● Overall average grade >= 56.
12