CS网课代修 | CSE111 Summer 2021 Syllabus



This course examines programing topics beyond the basics of language syntax and semantics.
Programming in an advanced manner is not a question of using sophisticated tools and complex
languages, it is about becoming aware of many programming techniques, styles, and languages,
then choosing the right combination for a given situation.

CSE111 is assignment intensive and language agnostic. In some cases, you will be required to
reach a particular goal in multiple languages, in others the choice of technology will be yours to
make. In all cases, your skill as a programmer will develop in tandem with your ability to delve
deeper into software intensive systems.

Learning Objectives

Students who pass this course should be able to explain:

• A selection of well-respected programming paradigms.
• The process and thread concepts, including lifecycle and concurrency models.
• Job scheduling, inter-process communication, process synchronization and deadlock
• The advantages of and challenges presented by parallel programming.

Students who pass this course will have gained:

• Experience in writing moderately complex system code.
• An appreciation of impact upon performance of design choices including the selection of
programming techniques and languages.
• Enhanced familiarity with Unix/Linux; network programming, APIs, and system calls.


This course will be internally assessed through the following:

• Administration ( not graded, but mandatory )
• Assignment x 8 70% ( 7 x 8% each, 1 x 14% )
• Final Examination 30%

Mandatory Course Requirements

You must pass every component (administration, assignments, and examinations) to pass the

For example, doing well on the final but submitting poor (or no) assignment solutions will see you
fail the class. Similarly, doing well on assignments but failing the final will result in you failing the

Late Submission Policy

No late submissions allowed. It is your responsibility to submit your work on time.

If exceptional circumstances arise before the due date and time, notify me as soon as you become
aware of the issue and it will be taken into consideration.

Extension requests received after the submission deadline will be ignored.


In order to maintain satisfactory progress, you should plan to spend an average of 30 hours per
week on this class. A plausible and approximate breakdown for this time would be:

• Lectures: 4 hours
• Workshops: 3 hours
• Assignments: 20 hours
• Independent study: 3 hours

Grading Bands

Grade Range Characterisation
A+ 95-100 Outstanding
A 88-94 Excellent
A- 81-87 Excellent in most respects
B+ 75-80 Very good
B 70-74 Good
B- 65-69 Good overall, but some weaknesses
C+ 60-64 Satisfactory to good
C 55-59 Satisfactory
* C- 50-54 Adequate evidence of learning
* D 45-49 Some evidence of learning
F 0-44 Below the required standard; fail