ECE434: Introduction to Computer Systems

my wechat:Yooo932851

Don't hesitate to contact me

Course Overview (1)

Goals:

Understanding of OS and the OS/architecture interface/interaction

Prerequisites:

14:332:331 (Computer Architecture and Assembly language)

14:332:351 (Data Structures and Algorithms)

Good familiarity with C and Linux (or be willing to gain such familiarity)

What to expect:

We will cover core concepts and issues in lectures (aim for roughly 7 Chapters in your official textbook: SGG -- if time permits).

3-5 programming assignments (in groups)

3-5 homework assignments (in groups)

1-2 Group Presentations (approx.)

2 Midterms (NO FINAL EXAM)

Course Overview (2)

What to expect (more info):

We will cover core concepts and issues in lectures (aim for roughly 7 Chapters in your official textbook: SGG --- if time permits).

3-4 programming assignments (in groups)

3-4 homework assignments (in groups)

1-2 Group Presentations (approx.) on: researching and digging further on concepts in chapters instructed, on state-of-the art topics (current development), reviews, hardware/software analysis and comparison, and more …

2 Midterms (NO FINAL EXAM)

A number of 30 minute quizzes (pre-announced)

A number of in class activities

In class group and individual activities:

In-class problem-solving OR questions-answers (with rewards to individuals or groups)

Quizz (multiple choice or open-ended) question in class – statistics-interpretation on the fly

Useful Facts (1)

Fact no 1: ECE Intro to Comp Sys vs. CS Operating Systems:

 Not the same course and should not be the same course

 There may be overlap in a number of sections, even in textbook and a portion of PPTs, BUT there is aBIG DIFFERENCE in: courseobjective, courseexpectations, courseorientation.

 As ECE is different from CS, so is the purpose of teaching this course. Those who have taken it with CS, you will find that in ECE it is taught differently this semester.

 There have been related changes in the ECE Curriculum since Fall 2019.

Fact no 2: The programming assignments may take some amount of time (depending on your familiarity with C and Linux)!

 Don’t take this course if you are very unfamiliar with programming.

 You need good familiarity with at least one other programming language to be able to effectively catch up with C and learn LINUX.

Useful Facts (2)

Fact no 3: The class has 2 TAs and max. 2 graders as supporting staff. Class size may get: ~ 220 students.

 We all need to learn to be very practical and efficient in our communications

Cheating

Borrowing code from github is considered CHEATing

Textbook and Topics

Silberschatz, Galvin, and Gagne. Operating System Concepts. John Wiley & Sons.

Reading assignments based off of 9th and 10th edition. Any of 6th, 7th, or 8th edition should be ok

Your favorite C book

Topics

Processes and threads

Processor and Thread Synchronization (a lot of emphasis here)

Processor scheduling

Memory Management

Virtual memory

File systems (if time allows)

Grading (before update)

Rough guideline (approximately – depending on how many assignments we turn out to complete).

2 Midterms: 30-40%

Projects: 21-30% (depends on the number issued ***)

Presentations: 5-8% (depends on the number issued)

Homework: 12-18% (depends on the number issued ***)

Quizzes (announced) &Class activity drills (unannounced):

22-27% (depending on how many will be issued***)

*** special circumstances because of remote instruction this semester.

This is all, but please read the next page:

Grading (2)

Participation: important for assimilating the material, while contributing towards the effort to deliver a lecture that is clear for all, intellectually fulfilling and challenging.

Participation to questions and discussion in class, will serve as (extra) credit for you.

However, during some lectures there may be certain spontaneous activity drills: problem-solving questions, or open-ended questions, that will be marked separately and registered in canvas right after.

Presentations: There will be 1-2 groups presentations this semester on a number of representative topics for this course. If time permits, the top 3 (approx) presentations every time, and these groups of students will present to the class. Groups that are selected to present will receive extra credit.

Grading (3)

Exams Grading Insight

Your first quiz will have lower weight than the rest so that you get familiarity with the course, the instructor and my teaching style.

Exams Makeup Policy

Makeups only for the midterms can be accepted only for university sanctioned reasons. But, to be fair to the rest of the students makeups will be on different problems.

There will be no make-up for the quizzes and activity drills. If you miss a few for any reason, this is fine, you will still have enough opportunities. The more you end up doing, the better. But you are responsible for making decisions on how to keep up with the lectures and how to efficiently distribute your workload.

Participation in class

Answering questions, participating in discussions, short drills in class is not only a plus… it may result in considerable credit for you. Game Rules: described in

syllabus and will be discussed later in class with more details.

Exams Schedule (1) (approximate)

Final Presentations Slots (tentative): Tue May 9th, 1.30-3.00pm.

Midterm 1: Most likely right before Spring Break: March 6 (Mon),

March 8 (Wed) or right after: March 22 (Wed)

The final decision will be made upon how much we have progressed with the material.

Spring Break 2022: Sat Mar 11 – March 19

Midterm 2: Preferably close to end of Classes, after the CAPSTONE

projects venue. But it could be the case that it will be held on the official

departmental slot for finals: Tue 05-09 at 12.00pm (it will take 1h30 mins).

Last Day to Withdraw from an Individual class with W: Monday, April 3, 5.00 pm

Exams Schedule (2) (approximate)

Exams/Quizzes: TBA, but most likely when we are done with major chapters:

e.g., processes and system calls, then threads introduction, then threads

synchronization, memory, etc (unless there is a midterm that coincides).

Last Day of Lectures (officially): Monday May 1st

Remember: Occasionally I will try to set up a few recitations – most likely remote

asynchronous – or, towards the end of lectures on a time that is convenient for the

majority of the class.

Presentation Assignments

Presentation assignments on various OS topics

Shell & system call (Linux kernel), Processes, Threads package, Multi-threaded

servers, Thread Synchro, Thread Scheduler, Physical vs Virtual Memory, File

System, State-of-the art topics, CPU specs then and now), GPU specs (then and

now), and freedom to select your own topic of interest (based on the class material

of course), presenting state-of-the art or seminal conference papers.

Goals

Learn to dig deeper on complex concepts, work on your programming skills, learn how to do

unsupervised research, and learn how to organize thoughts in concrete output

Work and Practice on your presentation skills (use Rubrics issued)

Learn how to be a great team player.

Presentation assignments must be submitted via Canvas

We will NOT accept any other form (in particular, NO EMAIL)

Late hand-ins may be accepted but with late penalty

Programming Assignments

3-4 programming assignments (tentative)

Shell & system call (Linux kernel)

Partial threads package & multi-threaded server and/or Thread Synchro

Thread Scheduler or Thread Synchro or Physical vs Virtual Memory or File

system (Linux kernel)

Goals

Improve design, implementation, and debugging skills

Learn to read and understand existing code

Learn the internals of an actual operating system

Programming assignments must be submitted via Canvas

We will NOT accept any other form (in particular, NO EMAIL)

Late hand-ins may be accepted but with late penalty that adds up on a daily

basis.

Programming Tools

Emacs

Compiler: cc (g++, gcc)

Project build: make (gmake)

Debugger: gdb, ddd – front end for debugger

版权声明:
作者:Alex
链接:https://www.techfm.club/p/100520.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>