Showing posts with label IEEE-CS. Show all posts
Showing posts with label IEEE-CS. Show all posts

Monday, November 21, 2022

IEEE Life Member

The Institute of Electrical and Electronics Engineers sent me an IEEE Life Member certificate in the mail. With this comes free lifetime membership. At first I thought this a scam, as it is unexpected. While I am grateful, I am not sure what I have done to deserve this, apart from paying my dues for 39 years, and helping out on the occasional standards committee, or conference. I joined IEEE after coming across their work with the Ada programming language.

Friday, October 14, 2022

Beyond LinkedIn For Professional Social Media to Help Your Career

Next week, I am talking to the ANU computer project students about using social media for your career. Some thoughts. Suggestions, corrections and comments welcome:

1. Can you?: Before setting up a profile on social media, consider if your employer, or your government allows particular platforms, or any social media presence at all. In particular, if you are considering a career in government computer security you need to not overshare person, or professional, details online. I had a high online profile before joining HQ Australian Defence Force. So it was not possible to undo that, or simply disappear from public view, so I continued to blog about public aspects of my job.

2. Commercial Sites


A LinkedIn Profile

Here is a screenshot of my LinkedIn page. Note at the bottom "Open to work" and "providing services".

Now owned by Microsoft, LinkedIn was developed specifically to help recruiters find staff. The free version of the service allows entering a CV, and to receive offers of jobs. There are also discussion forms on professional topics. A very useful feature is being able to search who you might know at a particular organisation, location, or field, and people you know who know people, to 2 degrees of separation. Currently I have 1,161 followers and 500+ connections. 

3. Professional Sites

A Collabratec profile,IEEE 2022

 Professional associations have tried to provide LinkedIn type services, with limited success. One of the better ones is IEEE Collabratec. This provides for a CV, and discussion forums. The ability to search for people is more limited than LinkedIn.

4. Personal Blogs:

Higher Education Whisperer Blog

Professionals, especially those who work freelance, or on short contracts, may like to have their own blog. I use The Higher Education Whisperer to write about issues to do with universities. However, keep in mind, your client, or employer, needs to be happy with what you write. As a part time academic, the university is comfortable with what I write. When a public servant working for a security agency, I had to be very careful with every post.

Thursday, December 10, 2020

Metadata for Learning

Greetings from a meeting of the IEEE Standard for Learning Metadata  (P2881) being held online (at 6:30am Canberra time). The discussion today was on the Semantic Web and Resource Description Framework (RDF). This is a very technical area, but is important to the practical concerns of keeping track of e-learning content. The problem is that there are many forms of learning and learners which we want to accommodate. There are existing standards, such as Shareable Content Object Reference Model (SCORM) which do some of this.

Thursday, October 15, 2020

Learning Objects and Metadata

Greetings from the second meeting of the IEEE Standard for Learning Metadata meeting (P2881) being held online. The standard defines a data model to keep track of e-learning content Including the learning style it is for. We are starting with the basics with what a Learning Object is: something more formally defined than materials normally used for teaching and intended to be reused by many. The metadata describes the objects and allows them to be easily found and managed. While this can be applied to any type of learning, it is particularly relevant at present with large scale use of e-learning due to COVID-19. This provides a way for educators, institutions and systems to share the millions of new learning materials being developed, to provide better, more cost effective education. 

The current standard uses a rigid  data model. The problem is how to make something more flexible, but still allows widespread easy use. This is a difficult balance with global standards.

Other work in this area includes the Learning Resource Metadata Initiative (LRMI), based on Dublin Core, which come from the library community.

ps: The meeting this time is at a slightly better time, 5:30 am, rather than 4:30 am in Canberra, but it is still early. There are 34 participants (up from 24 participants at the inaugural meeting). Most are from the USA, but a few of us are from around the world. The meeting is using WebEX again. I have been able to get the audio to work reliably and had to dial in for sound, with computer for video. As with other video conferencing systems, the computer client provides a code to use when dial in for audio, to link the voice call with your online identity. 

Friday, December 7, 2018

Tales from TALE 2018

On my way home from speaking at the IEEE 7th International Conference on Teaching, Assessment, and Learning for Engineering (TALE 2108) in Wollongong, so time to reflect. Some surprises were that chat-bots could be useful in education, and China is preparing to scale up its international university education offerings (placing Australia's third largest export industry at risk). One disappointment was that while the leading educators could detail what needed to be done to improve the quality of university teaching, none could offer a strategy to ensure this was actually done.

Why TALE?


I did not have high hopes for this conference. I decided to submit a paper because the conference I would usually attend was in a country I did not want to visit. TALE was two hours drive away, and was an IEEE event, so that was enough for me. Early in the year I started the grueling process of preparing a paper.

Come submission time I volunteered to also review. That turned out to be an unexpected pleasure, the management system worked well and the papers were of good quality. It was hard to find what to reject, and I worried my paper would never get accepted, with this competition. However, my paper was accepted, with lots of changes being required.

The last major frustration was the formatting, where there was something being rejected by the IEEE system, but no one could tell me exactly what. However, after many attempts, and days of work, laboriously reformatting the paper with different tools (and introducing new errors along the way), it was finally okay.

The Venue

An international conference from Australia usually involves a flight of at least half a day. So it was a strange feeling to just get in my car and drive an hour and a half to Wollongong. This is a beach-side city and the venue,was right on the beach.

Workshop Chatbot Tutors for Blended Learning

The workshops were held at University of Wollongong, a short free shuttle bus ride from the city.  I chose "Chatbot Tutors for Blended Learning" by Chi-Un Lei, Yuqian Chai, Xiangyu Hou, and Vincent Tam from TELI at University of Hong Kong. I had in mind using this for routine questions from students. The workshop is using the free version of the IBM Watson tool. In a few hours I was able to produce a credible Q&A. The process with the chatbot doesn't look any more time consuming that a quiz, with the AI system providing flexibility. What seems to be missing from this process is the intelligence to create the answers. For example, I would like to just give the system the rules for the course assessment and have it work out the possible questions and answers.

The Engineering of Learning

Keynote speaker Dr Bror Saxberg of the Chan Zuckerberg Initiative made the case for the engineering of education at the opening. Dr Saxberg's argument seems to be we need to teach students in ways which have been found to be effective. That may sound self-evident, but as he pointed out, with numerous examples, formal education is not necessarily using techniques show to be effective, and in some cases shown to not work. However, the problem I have found, is that just telling someone what works for education does not get them to do it, we need to also have people actually do things, to learn how to do them. Dr Saxberg did not provide any policy strategies to have academics learn to teach.

Learning Engineering

Professor Gregor Kennedy's keynote the next day was on "Learning Engineering: The Art of Applying Learning Science at Scale". He did not seem happy with the term “learning engineering”, coined by Herb Simon in the 1960's for the systematic design of learning, based on research. But I suspect there were only a handful of people in the room who had ever heard of the term (Dr Saxberg was obviously one), so why mention it at all? Professor Kennedy seemed to want evidence based teaching, but like Dr Saxberg did not seem to have any strategies to make this happen.

Later in the day Rebecca Shields (Central Queensland University) discussed the results of research on the "21st Century Skills" of Australian school students entering university. Rebecca suggested pre-teaching of students entering university, and in the longer term changes to school teacher training and education policy. Her proposed solution's would help answer Professor Kennedy's call for more systematic application of learning science. 

Smart Learning at the University of the South Pacific

Staff of the University of the South Pacific (UPS) discussed "Smart Learning in the Pacific: Design of New
Pedagogical Tools". USP is multi-national, with students who have studied under different school systems. They have an "early warning system" which extracts data from their Moodle Learning Management System to indicate which students are struggling. This was useful actionable advice.


Globalization of Chinese Education

Liang Zhao from Shenyang Aerospace University was talked on "How We Face Globalization of Chinese Education". International students in China are instructed in English, even though this is not the first language of the instructors or the students. Australian universities  will need to re-think their offerings, if China solves this problem, and takes most of the international student market in our region.

Arjun Singh on Gradescope

Arjun Singh, Co-founder & CEOArjun Singh, Co-Founder & CEO of Gradescope talked on grading of large numbers of STEM exam papers. This product, recently acquired by TurnItIn, allows student exam papers to be scanned in, and then marked online by an examiner, using a rubric. The product was demonstrated for engineering and computer science examinations, including for computer code.

Reference

 Worthington, Tom. (in press). Blended Learning for the Indo-Pacific. In Teaching, Assessment, and Learning for Engineering (TALE), 2018 IEEE 7th International Conference on. IEEE. url http://hdl.handle.net/1885/148733

Thursday, November 1, 2018

Blended Learning for the Indo-Pacific

Tom Worthington Speaking at NICT 2018 in Colombo
Tom addressing the
Computer Society of Sri Lanka
A few weeks ago I outlined a proposal for a Colombo Plan 2.0, in the city of Colombo, at an international conference opened by the nation's president. This proposed delivering micro-credentials via mobile devices, to students of Indo-Pacific.  It would bootstrap mobile education by using m-learning to teach computer professionals how to design and deliver such courses. To provide maximum benefit from the courses, each would provide a micro-credential, as well as industry certification, and credit towards a degree. The courses could be designed and delivered jointly, by institutions across the Indo-Pacific, to mixed classes of students from the region. It would provide a response to China's Belt and Road Education Plan, but in a non-confrontational way.

A short paper to present on this has been accepted for TALE 2018, in Woolongong, 4-7 December 2018:
  • Worthington, Tom. Blended Learning for the Indo-Pacific. In Teaching, Assessment, and Learning for Engineering (TALE), 2018 IEEE 7th International Conference on. IEEE. url https://doi.org/10.1109/TALE.2018.8615183
     

Friday, September 15, 2017

Draft Cybersecurity Curricula from IFIP, ACM, IEEE-CS AIS SIGSEC

A 74 page Draft Cybersecurity Curricula 2017, Version 0.75  is available (12 June 2017) from the Joint Task Force on Cybersecurity Education (JTF). The task force has representation from the IFIP Technical Committee on Information Security Education (IFIP WG 11.8), as well as ACM, IEEE Computer Society and AIS SIGSEC. A final curricula recommendation is due in December. It is not clear how the curricula relates to the cyber-security certifications recently announced by ACS and IFIP.

The 12 June draft of the task force divides the Curricular Content into six "Knowledge Areas":
  1. Data Security
  2. Software Security 
  3. System Security 
  4. Human Security 
  5. Organizational Security 
  6. Societal Security
Recommended study hours per knowledge area have not yet been specified.

The report contains a curious section 5.1 on "The Academic Myth" (page 58):
"Students who graduate from a four-year university program assume that the baccalaureate degree is a sufficient qualification to attain a position. This understanding may be true in some fields, but not necessarily in the computing disciplines nor specifically in cybersecurity. Belief in this myth has stymied many a job hunter worldwide. The degree credential is growing in importance, but it is not a sufficient condition for a position. A general understanding exists in cybersecurity and other fields that a successful professional must be a good communicator, a strong team player, and a person with passion to succeed. Hence, having a degree is not sufficient to secure employment."
The report goes on in the next section to detail Non-technical Skills (Section 5.2, Page 58):
"Non-technical (sometimes called “soft”) skills are vital to the success of cybersecurity professionals. The ability to work in a team, communicate technical topics to non-technical audiences, successfully argue for resource allocations, hone situational awareness, and operate within disparate organizational cultures are just a few of these skills. The US Chief Human Capital Officers Council (CHCO), among other bodies, has developed a list of non-technical competencies pertinent to the cybersecurity workforce. The list includes: accountability, attention to detail, resilience, conflict management, reasoning, verbal and written communication, and teamwork. The full list of competencies is available in the Competency Model for Cybersecurity. Professional associations such as (ISC) and ISACA also provide recommendations for non-technical skills required for cybersecurity professionals."
The report's authors seem to assume that that these soft skills have no place in a baccalaureate degree program. However, those are the skills I, and my colleagues, are teaching to computer science and engineering students at the Australian National University. As part of team projects and individual internships, the students have to learn to work together, communicate with a real client, negotiate for resources and present their work. Obviously, students with limited work-place experience can only learn so much and there is a continual discussion of the role of higher degrees for improving skills and smaller sub-degree courses. That approach fits with the ACS' approach to certification, which recognizes experience alongside formal qualifications.

Wednesday, February 1, 2017

Cybersecurity Degree Guidelines

The Association for Computing Machinery (ACM) have released a draft "Cybersecurity Curricula 2017: Curriculum Guidelines for Undergraduate Degree Programs in Cybersecurity" for comment by 14 February 2017. The security areas focused on are: Data, Software, System, Human, Organizational and Societal. Discipline areas ares: Computer Science (CS); Computer Engineering (CE); Software Engineering (SE); Information Technology (IT); Information Systems (IS); and Mixed Disciplinary majors (MD). This draft has not got to the point of setting hours for knowledge areas, but is a good start.

I have submitted this comment:
"The Cybersecurity Curricula is well thought out. The only surprise for me was section 5.1 "The Academic Myth" (p. 33). This polemic against the value of baccalaureate degrees and assessment standards is not appropriate. If the authors believe that a first degree does not provide the skills required for Cybersecurity, then they should be preparing a curriculum which includes a mandatory graduate component. If the authors truly believe that "... having a degree is not sufficient to secure employment.", then they should set down the curriculum for the additional non-degree training and education required.

Setting out to specify a baccalaureate curricula which does not meet the required need seems a pointless activity. In my view a baccalaureate degree is a vocationally useful qualification. However, no single qualification will provide everything everyone needs. The authors of the Cybersecurity Curricula should not set themselves an impossible task. Such a curricula will be useful when designing educational programs, at the sub-degree, degree and also graduate levels. I suggest deleting section  5.1."

Sunday, June 28, 2015

Open Scholarship

Open Scholarship seems an odd term to me: when was scholarship "closed"?

Willinsky (2009) offers a division of publishers into Independent Journals, Scholarly Societies and Commercial Publishers. They then trace open access back to the 1990s. But what might have been more useful would be to look at when academic publishing started to be closed. I would assume this might be around the time of the industrialization of scientific research in WW2.

Weller (2011) looks at scholarship from a more points of view than Willinsky (2009), looking at application and teaching as two scholarly activities which benefit from open access. Curiously neither author seems to worry much about scholarly discourse, which I thought was the whole point of the academic exercise. That is, you are not so much trying to set something in stone by publishing an academic paper, but continuing a discussion.

I am a member of the US based IEEE, who are a major publisher of engineering standards and papers. While IEEE is a scholarly society, their publishing arm is so big it is more like a commercial publisher, although they have a tradition of also supporting quirky little journals, which are more like independents.

The IEEE Open Access Publishing Options gives an interesting insight into how a publisher sees open access. Essentially, in IEEE's world "open access" is synonymous with "author pays". That is, the question from the publisher's point of view with open access is "who pays us?". If the reader is not paying for publication, then the next best option for the publisher is to get the author to pay.

The IEEE divides its open access publishing into:
  1. Topical: Only three of IEEE's thousands of journals are fully open access, the first of which, IEEE Photonics Journal, was only started in 2012.
  2. Hybrid: Authors have the option of paying to make content in otherwise closed journals open. The advantage for the author is that they avoid their paper being ghettoized in an "open" publication. IEEE point out that papers in high impact factor subscription based journals can be made open.
  3. Mega: IEEE has created new "rapid-decision, open access mega journal" called IEEE Access. In some ways this is an attempt to reverse the trend which has seen increasingly specialized journals. The most interesting point with IEEE Access is the emphasis on rapid publication (4 weeks for review). However as a paper costs the author US$1,750.00 to publish, this is not open, in the sense of being available to the majority of authors (who could not afford the fee).
What seems curious is that, as far as I can tell, the review process for IEEE's papers is still unpaid, even where the author pays for rapid publication. Why should I, as a reviewer, give one of these papers priority, when I am not getting paid more (or anything at all) for this work?

Normally academia operates on an informal system of favors: do this for me and I will do something for you later. But if a commercial publisher, or quasi-commercial publisher (like IEEE), is charging a premium up-front fee for a rush service, what is the incentive for me to cooperate?

References

Willinsky, J. (2009). The stratified economics of open access. Economic Analysis and Policy, 39(1), 53-70. Retrieved from http://www.sciencedirect.com/science/article/pii/S0313592609500434/pdfft?md5=03632c0fbabd6d1dbb70133d756ff05a&pid=1-s2.0-S0313592609500434-main.pdf
 
Weller, M. (2011). The digital scholar: How technology is transforming scholarly practice. A&C Black. Retrieved from https://www.bloomsburycollections.com/book/the-digital-scholar-how-technology-is-transforming-scholarly-practice/ch4-the-nature-of-scholarship

Wednesday, February 18, 2015

Technical Standards for Learning Objects

The issue of Instructional Design technical standards,  compliance, SCORM, metadata tests and W3C HTML validation came up in the course I am doing. This is an area best avoided, unless someone is paying you to do it, as it is frustrating, time consuming and never ending. The Australian VET E-standards is a reasonable overview.

One general point: Most learning objects are a ZIP file which contains folders, the folders have web format  files for the content in them (HTML, CSS, JPEG, PNG). There are also some XML files with metadata (cataloging information) and quiz questions. E-books use a similar format.

The standards issue comes up with which version of file formats are used (HTML 4, XHTML, HTML 5 ...), what the folder structure is and what metadata is included. Vendors of products make claims as to what they support and educational institutions get stuck with particular products.

What I do is try to avoid using anything more than basic web formats for my educational content, so that this will more easily convert from one system to another. As an example, I use default formatting for headings and text. I do not specify the font, color, or size of text, so it will appear using the default of the system it is imported into. The result can look dull, but at least the student is likely to be able to read it and I don't have to spend hours fixing the formatting.

Just to show off, if you look through "IEEE Standard for Learning Object Metadata" (1484.12.1-2002) you will see my name it (I was on the balloting group, contributed one comment and then voted "yes"). ;-)

Sunday, November 17, 2013

Social Issues and Professional Practice in University Degree Programs

Previously I looked at the"Social Issues and Professional Practice (SP)" required by the Draft ACM/IEEE-CS Computer Science Curricula 2013. This works out to the equivalent of one course out of a 24 course degree program (but it could be covered in multiple courses). The ANU's two year Master of Engineering requires two courses in Professional communication (ENGN8150 and ENGN8160), with these normally being taken consecutively in the first two semesters. However, students may apply to be exempt from these courses. The ANU Research School of Management has Communication for Business (MGMT2100) as a compulsory course for the Bachelor of Business Administration. The Graduate Diploma in Legal Practice
 has the option of a Professional Practice Core (PPC) which is 15 units (2.5 conventional courses). This has the students working on-line in a simulated law first with three others.

ACM/IEEE-CS Computer Science Curricula 2013

The joint ACM/IEEE-CS Computer Science
Curricula 2013 Steering Committee (CS2013), have released a Draft Final Report (October 2013). The previous versions of the ACM/IEEE-CS curricular have been used by universities around the world in designing their degree programs. There is also a core learning outcomes spreadsheet and some Course and Curriculum Exemplars.

The ACM/IEE-CS Curricula specifies the proportion of course on each topic in terms of lecture hours, for delivery in a traditional face-to-face class. This does not include self-study time, lab sessions or student work on assessments. So confusingly it is less than the usual measure used by universities of  "contact hours" (which includes tutorials and labs sessions). The Total Core Hours are: Tier1 165 Hours, Tier1 143 Hours. Programs are required to have all of Tier 1, plus at least 80% of Tier 2, making a total of at least 279.4 Hours.

The ANU Bachelor of Information Technology
requires the completion of 144 units, with 36 compulsory computer science units, another 30 units from later years CS courses, 24 units of additional CS courses, 6 core maths courses, leaving 28 units of general electives. A typical 6 unit ANU Computer Science course has thirty one, one hour lectures and six two hour tutorials. The full time degree program is usually made up of three years of two semesters, with four courses per semester for a total of  24 courses (3 x 2 x 4). This equates to 744 hours of lectures.

While the ACM/IEE-CS have been influential with their curriculum internationally, it should be noted that this is a very US-centric document. The only mention of Australia in the document, is Judy Sheard's Human Computer Interaction (FIT3063), Monash University. The UK is represented by Paul Cairns' Human Aspects of Computer Science, University of York, Alan Blackwell's Human Computer Interaction and Software and Interface Design, University of Cambridge. Most of the other courses are from the USA, with a few from Europe and Asia.

ACM/IEEE-CS Computer Science Curricula 2013 

Table of Contents

Chapter 1: Introduction . 10

Overview of the CS2013 Process . 11
Survey Input  12
High-level Themes  13
Knowledge Areas  14
Professional Practice . 15
Exemplars of Curricula and Courses  16
Community Involvement and Website . 16
Acknowledgments  16
References . 19

Chapter 2: Principles . 20

Chapter 3: Characteristics of Graduates . 23

Chapter 4: Introduction to the Body of Knowledge 27

Knowledge Areas are Not Necessarily Courses (and Important Examples Thereof). 28
Core Tier-1, Core Tier-2, Elective: What These Terms Mean, What is Required . 29
Further Considerations in Designing a Curriculum  32
Organization of the Body of Knowledge  32
Curricular Hours . 32
Courses 33
Guidance on Learning Outcomes . 33
Overview of New Knowledge Areas  34

Chapter 5: Introductory Courses . 39

Design Dimensions . 39
Mapping to the Body of Knowledge. 45

Chapter 6: Institutional Challenges . 46

Localizing CS2013 . 46
Actively Promoting Computer Science  46
Broadening Participation  47
Computer Science Across Campus . 48
Computer Science Minors  48
Mathematics Requirements in Computer Science  49
Computing Resources . 51
Maintaining a Flexible and Healthy Faculty. 51
Teaching Faculty. 52
Undergraduate Teaching Assistants 53
Online Education  53
References . 54

Appendix A: The Body of Knowledge . 55

Algorithms and Complexity (AL). 55
Architecture and Organization (AR). 62
Computational Science (CN)  68
Discrete Structures (DS) . 76
Graphics and Visualization (GV) . 82
Human-Computer Interaction (HCI)  89
Information Assurance and Security (IAS)  97
-4-Information Management (IM) . 112
Intelligent Systems (IS)  121
Networking and Communication (NC). 131
Operating Systems (OS) . 136
Platform-Based Development (PBD) . 143
Parallel and Distributed Computing (PD) . 146
Programming Languages (PL)  156
Software Development Fundamentals (SDF) . 168
Software Engineering (SE) . 173
Systems Fundamentals (SF) 187
Social Issues and Professional Practice (SP)  193

Appendix B: Migrating to CS2013 . 205

Outcomes  205
Changes in Knowledge Area Structure . 206
Core Comparison  207
Conclusions . 211

Appendix C: Course Exemplars 228

Course Exemplar Template  232
CSCI 140: Algorithms, Pomona College  234
COS 226: Algorithms and Data Structures, Princeton University 237
CS 256 Algorithm Design and Analysis, Williams College . 240
CSE332: Data Abstractions, University of Washington . 243
CS/ECE 552: Introduction to Computer Architecture, University of Wisconsin . 246
CS150: Digital Components and Design, University of California, Berkeley . 249
-5-CC152: Computer Architecture and Engineering, University of California, Berkeley  251
eScience, University of North Carolina at Charlotte  253
COSC/MATH 201: Modeling and Simulation for the Sciences, Wofford College  258
MAT 267: Discrete Mathematics, Union County College . 262
CS103: Mathematical Foundations of Computer Science, Stanford University  265
CS109: Probability Theory for Computer Scientists, Stanford University  265
CS 250 - Discrete Structures I, Portland Community College . 268
CS 251 - Discrete Structures II, Portland Community College  271
CS 175 Computer Graphics, Harvard University . 274
CS371: Computer Graphics, Williams College  277
Human Aspects of Computer Science, University of York  280
FIT3063 Human Computer Interaction, Monash University 282
CO328: Human Computer Interaction, University of Kent  285
Human Computer Interaction, University of Cambridge . 287
Human-Computer Interaction, Stanford University . 289
Human Information Processing (HIP), Open University Netherlands . 291
Software and Interface Design, University of Cambridge  293
Computer Systems Security (CS-475), Lewis-Clark State College  295
CS430: Database Systems, Colorado State University. 298
Technology, Ethics, and Global Society (CSE 262), Miami University  301
CS 662; Artificial Intelligence Programming, University of San Francisco  304
Intelligenza Artificiale ( Artificial Intelligence), Politecnico di Milano  306
CMSC 471, Introduction to Artificial Intelligence, U. of Maryland, Baltimore, County  308
Introduction to Artificial Intelligence, Case Western Reserve University . 310
-6-CS188: Artificial Intelligence, University of California Berkeley . 313
Introduction to Artificial Intelligence, University of Hartford . 315
Computer Networks I, Case Western Reserve University  318
CS144: Introduction to Computer Networking, Stanford University . 320
Computer Networks, Williams College  323
CSCI 432 Operating Systems, Williams College . 327
CS 420, Operating Systems, Embry-Riddle Aeronautical University  330
CPSC 3380 Operating Systems, U. of Arkansas at Little Rock . 332
582219 Operating Systems, University of Helsinki . 334
RU STY1 Operating Systems, Reykjavik University. 336
Parallel Programming Principle and Practice, Huazhong U. of Science and Technology . 339
Introduction to Parallel Programming, Nizhni Novgorod State University . 342
CS in Parallel (course modules on parallel computing) . 344
CS453: Introduction to Compilers, Colorado State University  348
Csc 453: Translators and Systems Software, The University of Arizona  351
CSCI 434T: Compiler Design, Williams College  353
Compilers, Stanford University  356
Languages and Compilers, Utrecht University . 359
COMP 412: Topics in Compiler Construction, Rice University  361
CSC 131: Principles of Programming Languages, Pomona College 364
CSCI 1730: Introduction to Programming Languages, Brown University  367
CSC 2/454: Programming Language Design and Implementation, University of Rochester 369
CSE341: Programming Languages, University of Washington . 372
CSCI 334: Principles of Programming Languages, Williams College . 375
-7-Programming Languages and Techniques I, University of Pennsylvania  378
15-312 Principles of Programming Languages, Carnegie Mellon University 381
15-150: Functional Programming, Carnegie Mellon University  385
CIS 133J: Java Programming I, Portland Community College  389
Introduction to Computer Science, Harvey Mudd College  392
CpSc 215: Software Development Foundations, Clemson University . 395
CS1101: Introduction to Program Design, WPI . 398
Data Abstraction and Data Structures, Miami University  401
Software Engineering Practices, Embry Riddle Aeronautical University  403
CS169: Software Engineering, University of California, Berkeley 407
SE-2890 Software Engineering Practices, Milwaukee School of Engineering  410
Software Development, Quinnipiac University  412
CS2200: Introduction to Systems and Networking, Georgia Institute of Technology . 415
CS61C: Great Ideas in Computer Architecture, University of California, Berkeley 419
CSE333: Systems Programming, University of Washington . 421
Ethics in Technology (IFSM304), University of Maryland . 424
Technology Consulting in the Community, Carnegie Mellon University  427
Issues in Computing, Saint Xavier University 431
Ethics & the Information Age (CSI 194), Anne Arundel Community College . 433
Professional Development Seminar, Northwest Missouri State University . 436
The Digital Age, Grinnell College  439
COS 126: General Computer Science, Princeton University . 443
CSCI 0190: Accelerated Introduction to Computer Science, Brown University . 447
An Overview of the Two-Course Intro Sequence, Creighton University. 449
-8-CSC 221: Introduction to Programming, Creighton University . 450
CSC 222: Object-Oriented Programming, Creighton University . 452
An Overview of the Mulit-paradigm Three-course CS Introduction at Grinnell College  454
CSC 151: Functional problem solving, Grinnell College . 456
CSC 161: Imperative Problem Solving and Data Structures, Grinnell College . 458
CSC 207: Algorithms and Object-Oriented Design, Grinnell College . 460

Appendix D: Curricular Exemplars  463

Bluegrass Community and Technical College (A.S. Degree)  465
Bluegrass Community and Technical College (A.A.S. Degree)  472
Grinnell College  480
Stanford University . 492
Williams College  503 Brown University . 447
An Overview of the Two-Course Intro Sequence, Creighton University. 449
-8-CSC 221: Introduction to Programming, Creighton University . 450
CSC 222: Object-Oriented Programming, Creighton University . 452