CSE 3903
Transcript Abbreviation:
Proj: Sys Software
Course Description:
Intensive group project involving design, development, and documentation of system software including an assembler and a linking loader; communication skills emphasized; builds programming maturity.
Course Levels:
Undergraduate (1000-5000 level)
Designation:
Required
Elective
General Education Course:
(N/A)
Cross-Listings:
(N/A)
Credit Hours (Minimum if “Range”selected):
4.00
Max Credit Hours:
(N/A)
Select if Repeatable:
Off
Maximum Repeatable Credits:
(N/A)
Total Completions Allowed:
(N/A)
Allow Multiple Enrollments in Term:
No
Course Length:
14 weeks (autumn or spring)
12 weeks (summer only)
Off Campus:
Never
Campus Location:
Columbus
Instruction Modes:
In Person (75-100% campus; 0-24% online)
Prerequisites and Co-requisites:
Prereq: 2231; and 2321; and 2421 or 3430, or 2451 and ECE 2560; and enrollment in CSE, CIS, ECE, or Data Analytics major.
Electronically Enforced:
No
Exclusions:
(N/A)
Course Goals / Objectives:
Be competent with using and implementing each component of the the assemble-link-load-relocate-execute process
Be competent with using bit manipulation of integers and ascii characters to be able to emulate a simple computer that handles both integer and character I/O
Be competent with writing, organizational, and presentation skills
Be competent with analyzing the intended audience for a written document and writing an audience profile
Be familiar with making engineering decisions involving tradeoffs
Be familiar with writing a relocating linking loader
Be familiar with subroutine linkage at the assembly level and with using different addressing modes
Be familiar with emulating in software, the fetch-decode-execute cycle of a CPU
Be familiar with using macros, including recursive and nested macros
Be familiar with software testing strategies including black-box versus white-box, unit testing, integration testing, top-down versus bottom-up testing, and construction and implementation of a test plan
Be familiar with defining the purpose (persuade, inform, etc.) of a written document and select the appropriate rhetorical devices.
Be familiar with writing several pieces of documentation that have different purposes and to use appropriate organization to tie them together.
Be familiar with group project organization techniques including conducting group meetings, recording minutes, and tracking project progress.
Be familiar with using one structured approach to large software design to carry out a large group project.
Be exposed to issues in systems programming as opposed to applications programming
Be exposed to memory management issues including caching and virtual memory
Be exposed to one-pass macro processing techniques
Check if concurrence sought:
No
Contact Hours:
Topic | LEC | REC | LAB | LAB Inst |
---|---|---|---|---|
Architecture | 4.0 | 0.0 | 0.0 | 0 |
Software engineering | 4.0 | 0.0 | 0.0 | 0 |
Technical writing | 3.0 | 0.0 | 0.0 | 0 |
System software | 2.0 | 0.0 | 0.0 | 0 |
Assemblers: algorithm, pseudo operations, expressions | 8.0 | 0.0 | 0.0 | 0 |
Searching and sorting | 3.0 | 0.0 | 0.0 | 0 |
Tools: makefiles, CVS, lex and yacc | 4.0 | 0.0 | 0.0 | 0 |
Linking and loading | 4.0 | 0.0 | 0.0 | 0 |
Macro processors | 4.0 | 0.0 | 0.0 | 0 |
Compilers: tokenizing, parsing, code generation | 4.0 | 0.0 | 0.0 | 0 |
Total | 40 | 0 | 0 | 0 |
Grading Plan:
Letter Grade
Course Components:
Lecture
Grade Roster Component:
Lecture
Credit by Exam (EM):
No
Grades Breakdown:
Aspect | Percent |
---|---|
Lab assignments | 55% |
Midterm | 20% |
Exam | 25% |
Representative Textbooks and Other Course Materials:
Title | Author | Year |
---|---|---|
System Software - An Introduction to Systems Programming | Leland Beck | |
The Practice of Programming | Brian Kernighan and Rob Pike | |
A Writer's Reference | Diana Hacker |
ABET-CAC Criterion 3 Outcomes:
Outcome | Contribution | Description |
---|---|---|
1 | Substantial contribution (3-6 hours) | Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. |
2 | Significant contribution (7+ hours) | Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. |
3 | Substantial contribution (3-6 hours) | Communicate effectively in a variety of professional contexts. |
4 | Some contribution (1-2 hours) | Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles |
5 | Significant contribution (7+ hours) | Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline |
6 | Substantial contribution (3-6 hours) | Apply computer science theory and software development fundamentals to produce computing-based solutions. |
ABET-ETAC Criterion 3 Outcomes:
(N/A)
ABET-EAC Criterion 3 Outcomes:
Outcome | Contribution | Description |
---|---|---|
1 | Substantial contribution (3-6 hours) | an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics |
2 | Significant contribution (7+ hours) | an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors |
3 | Substantial contribution (3-6 hours) | an ability to communicate effectively with a range of audiences - pre-2019 EAC SLO (g) |
4 | Some contribution (1-2 hours) | an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts |
5 | Significant contribution (7+ hours) | an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives |
7 | Some contribution (1-2 hours) | an ability to acquire and apply new knowledge as needed, using appropriate learning strategies |
Embedded Literacies Info:
Attachments:
(N/A)
Additional Notes or Comments:
(N/A)
Basic Course Overview:
CSE_3903_basic.pdf
(12.73 KB)