חיפוש חדש  חזור
מידע אישי לתלמיד

שנה"ל תשע"ט

  מעבדה מתקדמת בשפת C - קורס בחירה
  A C Languague Workshop  
0512-4493-04
הנדסה | תואר ראשון - חשמל ואלקטרוניקה
סמ'  ב'1900-2000101 הנדסת תוכנהתרגיל מר אבירם נמרוד
סילבוס מקוצר
שעות:  4 ש"ס
משקל: 2
דרישות קדם: תכנות, מבני נתונים ואלגוריתמים
 
 
נושאי הלמוד: בנית קוד מודולארי, קלט/פלט, תקשורת בין תהליכים.
במסגרת המעבדה יבצעו הסטודנטים פרויקטי תכנות בהקף בינוני.
 
Course description
C fast basics: remainder of the C basics, including memory allocation, pointers, and structs.
 
Recitation: Review of the development environment, command-line arguments.
I/O in C: handling files, stdin/out/err, EOF, EOL. Windows.
Multi processing and IPC (pipes and sockets), threds will only be mentioned
Recitation: Raw sockets and sniffers
Student assignments:
A small programming assignment, e.g., writing a variant of 'grep'
larger programming assignment: Simple (Byzantine) agreement with IPC
Final assignment: sockets++.
 
סילבוס מפורט

הנדסה | תואר ראשון - חשמל ואלקטרוניקה
0512-4493-04 מעבדה מתקדמת בשפת C - קורס בחירה
A C Languague Workshop
שנה"ל תשע"ט | סמ'  ב' | מר אבירם נמרוד

סילבוס מפורט/דף מידע

המורה: מר נמרוד אבירם
בניין הנדסת תוכנה, חדר 310
nimrodaviram@outlook.com : דואר אלקטרוני
שעות קבלה: מיד לאחר הקורס, יום ד', 20:00
קורס רשות לקראת תואר ראשון, סמסטר ה', שנה ג', 4 ש"ס
דרישות קדם לקורס: תכנות, מבני נתונים ואלגוריתמים
אופן הלימוד: שו"ת
סילבוס: (ראו גרסה אנגלית של הסילבוס בסוף המסמך)
modules- וחלוקה נכונה ל header files ●
קלט/פלט, טיפול בקבצים וארגומנטים ●
מערכת ההפעלה לינוקס ●
Test Driven Development ●
Sockets תקשורת בעזרת ●
Version control with Git ●
Agile vs. Waterfall מתודולוגיות פיתוח וניהול פרוייקטי תוכנה, בדגש על ●
ככל שהזמן ירשה: ●
Select בעזרת sockets טיפול בכמה ○
Java סקירה של תכנות מונחה עצמים, מבוא לשפת ○
No Silver Bullet, The Mythical - טקסטים קלאסיים בניהול פרוייקטי תוכנה ○
Man-Month
Raw sockets and sniffers ○
דרישות הקורס וחובות התלמידים : הקורס מורכב מכ 4- פרויקטי תכנות בהיקף בינוני, המתפרשים לאורך
הסמסטר, ומהווים את הציון הסופי בקורס. על התלמידים להגיש את כל הפרויקטים על מנת להיות
זכאים לקבל ציון עובר בקורס. מעבר לדרישה הבסיסית לקוד עובד, מרכיב חשוב בציון הוא נאותות
הקוד, ועמידה בסטנדרטים מודרניים של פיתוח תוכנה.
נוכחות : אין חובת נוכחות בקורס, אך כמובן שסטודנטים שלא נכחו בכיתה אמורים להשלים את החומר
.moodle- הנלמד בעזרת סיכומים, ספרים, או המצגות שמועלות ל
הם בגדר חובה. moodle- ביבליוגרפיה : חומרי הלימוד שמועלים ל
סטודנטים המעדיפים ללמוד מספרים, מוזמנים להיעזר בספרים הבאים:
● The C Programming Language 2nd Edition, by Brian W. Kernighan, Dennis M.
Ritchie
● C Programming: A Modern Approach, 2nd Edition, by K. N. King
● Expert C Programming: Deep C Secrets 1st Edition, by Peter van der Linden
● The Practice of Programming (Addison-Wesley Professional Computing Series)
1st Edition, by Brian W. Kernighan, Rob Pike
● Modern C, Jens Gustedt
● Test Driven Development: By Example 1st Edition, by Kent Beck
● Unix Network Programming, Volume 1: The Sockets Networking API 3rd Edition,
by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff
● Pro Git, by Scott Chacon and Ben Straub
● No Silver Bullet, The Mythical Man-Month: Fred Brooks
● Extreme Programming Explained: Embrace Change First Edition, by Kent Beck
The above syllabus, in English:
● Header files, and proper module boundaries
● IO, handling files and arguments
● The Linux operating system
● Test Driven Development
● Network programming with sockets
● Version control with Git
● Software development methodologies, esp. Agile vs. Waterfall
● As time permits:
○ Multiplexing sockets with select
○ Introduction to object-oriented programming and the Java programming
language
○ Classical texts in the field of software development methodologies: No
Silver Bullet, The Mythical Man-Month
○ Raw sockets and sniffers

להצהרת הנגישות


אוניברסיטת ת