Session 13b1 C.A.M. A Tool for Evaluating and Adjusting Engineering Curriculum
Python模考试题

Python模考试题一、单选题(共57题,每题1分,共57分)1.下面代码的输出结果是( )>>> bin(10)A、‘0d1010’B、‘0x1010’C、‘0b1010’D、‘0o1010’正确答案:C2.二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素9的是( )A、ls[–2][–1]B、ls[–1]C、ls[–1][–1]D、ls[0][–1]正确答案:C3."下面代码的输出结果是( )Def hello_world(): print('ST',end="*") def three_hellos(): for i in range(3): hello_world() three_hellos()"A、STSTST*B、ST*C、STSTD、***正确答案:A4.选出对下列语句不符合语法要求的表达式: for var in ____________ : print varA、(1,2,3)B、{1,2,3,4,5}C、”Hello”D、range(0,10)正确答案:B5.以下关于函数参数传递的描述,错误的是:A、调用函数时,可变数量参数被当做元组类型传递到函数中B、定义函数的时候,可选参数必须写在非可选参数的后面C、Python 支持可变数量的参数,实参用”*参数名”表示D、函数的实参位置可变,需要形参定义和实参调用时都要给出名称正确答案:C6.当打开一个不存在的文件时,以下选项中描述正确的是( )A、文件不存在则创建文件B、一定会报错C、根据打开类型不同,可能不报错D、不存在文件无法被打开正确答案:C7.写出下面代码的运行结果。
def Sum(a, b=3, c=5): print(a,b,c)Sum(a=8, c=2)A、8,3,2B、8 2C、8,2D、8 3 2正确答案:D8."下面代码的输出结果是( ) for s in “HelloWorld”: if s==“W”: break print(s, end="")"A、HelloorldB、HelloC、WorldD、HelloWorld正确答案:B9.下面( )不是有效的变量名。
sessionremoveattribute -回复

sessionremoveattribute -回复什么是sessionremoveattribute?在编程领域中,sessionremoveattribute是一个用于从会话中移除属性的方法或函数。
会话是一种用于存储用户持久化数据的机制,通常用于Web应用程序开发中。
通过会话,开发人员可以在用户访问网站期间保持一些特定的数据或状态。
然而,有时候我们可能需要从会话中删除某些属性,这就需要使用sessionremoveattribute来完成。
使用sessionremoveattribute可以方便地删除会话中的特定属性。
在Java中,会话是通过javax.servlet.http.HttpSession对象来管理的。
该对象提供了一些用于处理会话属性的方法,其中就包括sessionremoveattribute。
使用这个方法可以按照属性名删除会话中的属性。
为什么需要使用sessionremoveattribute?有时候,我们可能需要删除会话中的某些属性。
可能是因为用户已经完成了某个任务,不再需要相应的会话数据,或者是因为会话中的数据发生了变化,需要更新或删除旧数据。
使用sessionremoveattribute可以帮助我们及时清理会话中的不必要数据,以确保会话始终保持最新和有效的状态。
如何使用sessionremoveattribute?使用sessionremoveattribute非常简单。
首先,我们需要获取当前会话的HttpSession对象。
在Java中,可以通过request.getSession()方法来获取当前会话对象。
接下来,我们可以使用sessionremoveattribute 方法传入待删除属性的名称,从会话中删除该属性。
以下是一个简单的示例代码:java获取当前会话对象HttpSession session = request.getSession();删除名为"username"的属性session.removeAttribute("username");在上面的代码中,我们调用了HttpSession的removeAttribute方法,并传入属性名"username"。
sessionremoveattribute -回复

sessionremoveattribute -回复session.removeAttribute()方法是在Java中用于从会话(Session)对象中移除指定的属性(attribute)的。
会话对象在Web开发中扮演着重要的角色,用于存储和共享用户相关的数据。
在本文中,我们将深入探讨session.removeAttribute()的使用方法和背后的原理。
首先,让我们了解会话(Session)的概念。
会话是指在客户端与服务器之间建立的持续性连接,用于跟踪用户在网站上的活动和交互。
会话的创建和销毁是自动处理的,一般通过会话ID来进行识别。
在Java中,会话对象保存在javax.servlet.http.HttpSession类的实例中。
会话对象提供了一种在不同的请求和响应之间保持状态的机制。
这就意味着我们可以在一个请求中存储数据,并在后续的请求中检索和使用这些数据。
这在许多应用场景中非常有用,例如在购物网站中保存用户的购物车信息。
在会话对象中,我们可以使用setAttribute()方法来添加、修改或替换属性(attribute)的值。
例如,我们可以使用以下代码向会话对象中添加一个名为"username"的属性:session.setAttribute("username", "Alice");这样,我们就可以在后续的请求中通过getAttribute()方法来获取这个属性的值:String username = (String) session.getAttribute("username");然而,有时候我们需要从会话对象中移除某个不再需要的属性。
这时就可以使用session.removeAttribute()方法。
该方法接受一个字符串参数,表示要移除的属性的名称。
例如,我们可以使用以下代码来移除之前添加的"username"属性:session.removeAttribute("username");session.removeAttribute()方法的内部实现涉及到了会话对象的底层数据结构和存储机制。
jwt_tool用法

JWT_Tool是一个用于处理JSON Web Token(JWT)的工具。
它的具体使用方法可能因实际应用场景而有所不同,以下是一些常见的用法:1.生成JWT令牌:2.python复制代码import jwt_toolpayload = {'username': 'user123','iat': 1516239022,'exp': 1516240022,'nbf': 1516239022}secret = 'my-secret-key'token = jwt_tool.encode(payload, secret)print(token)这将使用给定的payload(负载)和密钥(secret)生成一个JWT令牌。
负载是JWT令牌中的有效负载,它包含要传输的数据。
密钥用于签名和验证令牌。
1.验证JWT令牌:2.python复制代码import jwt_tooltoken = 'your-token'# JWT令牌secret = 'my-secret-key'# 密钥decoded_token = jwt_tool.decode(token, secret)print(decoded_token)这将使用给定的令牌和密钥解码JWT令牌,并返回解码后的负载。
如果令牌无效或密钥不正确,将引发异常。
1.使用自定义加密算法:JWT_Tool支持使用自定义的加密算法来生成和验证JWT令牌。
例如,可以使用RSA算法:python复制代码import jwt_toolfrom cryptography.hazmat.primitives import serialization, hashes from cryptography.hazmat.primitives.asymmetric import padding from cryptography importhazmatfrom cryptography.hazmat.primitives importasymmetric, padding;from cryptography.hazmat.primitives import serialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitivesimportasymmetric;from cryptography.hazmat.primitives.asymmetric importpadding;from cryptography importhazmat;fromcryptography.hazmat.primitives importserialization;fromcryptography importhazmat;from cryptography.hazmat.primitives。
python期末考试题库及答案填空

python期末考试题库及答案填空1. Python中,用于定义函数的关键字是______。
答案:def2. 在Python中,以下哪个选项是正确的字符串表示?A. 'Hello, World!'B. "Hello, World!"C. Hello, World!D. "Hello, World!"答案:A、B3. 下列哪个选项是Python中的注释?A. // 这是一个注释B. # 这是一个注释C. /* 这是一个注释 */D. // 这是一个注释答案:B4. Python中,以下哪个关键字用于定义类?答案:class5. 在Python中,以下哪个选项是正确的列表表示?A. [1, 2, 3]B. (1, 2, 3)C. {1, 2, 3}D. {key: value}答案:A6. Python中,以下哪个选项是正确的字典表示?A. [1, 2, 3]B. (1, 2, 3)C. {1, 2, 3}D. {key: value}答案:D7. 在Python中,以下哪个选项是正确的元组表示?A. [1, 2, 3]B. (1, 2, 3)C. {1, 2, 3}D. {key: value}答案:B8. Python中,以下哪个关键字用于创建集合?答案:set9. 在Python中,以下哪个选项是正确的集合表示?A. [1, 2, 3]B. (1, 2, 3)C. {1, 2, 3}D. {key: value}答案:C10. Python中,以下哪个关键字用于创建字典?答案:dict11. Python中,以下哪个关键字用于循环遍历列表?答案:for12. 在Python中,以下哪个选项是正确的条件语句?A. ifB. elifC. elseD. all of the above答案:D13. Python中,以下哪个关键字用于导入模块?答案:import14. 在Python中,以下哪个选项是正确的文件操作模式?A. 'r' - 只读B. 'w' - 写入C. 'a' - 追加D. all of the above答案:D15. Python中,以下哪个关键字用于捕获异常?答案:try16. 在Python中,以下哪个选项是正确的异常处理语句?A. tryB. exceptC. finallyD. all of the above答案:D17. Python中,以下哪个关键字用于定义列表推导式?答案:list comprehension18. 在Python中,以下哪个选项是正确的列表推导式?A. [x for x in range(10)]B. (x for x in range(10))C. {x for x in range(10)}D. [x if x > 5 else x for x in range(10)]答案:A、D19. Python中,以下哪个关键字用于定义生成器表达式?答案:generator expression20. 在Python中,以下哪个选项是正确的生成器表达式?A. (x for x in range(10))B. [x for x in range(10)]C. {x for x in range(10)}D. (x if x > 5 else x for x in range(10))答案:A。
安全编程与代码审计考核试卷

D.输入验证
9.以下哪些是常见的Web安全漏洞?()
A. SQL注入
B. XSS
C. CSRF
D.文件上传漏洞
10.以下哪些方法可以防范文件上传漏洞?()
A.限制上传文件类型
B.检查上传文件的大小
C.对上传的文件进行内容安全检查
D.重命名上传文件
11.在安全编程中,以下哪些原则有助于提高安全性?()
A.对用户输入进行HTML转义
B.设置安全的Cookie属性
C.过滤用户输入中的特殊字符
D.使用内容安全策略(CSP)
3.以下哪些是安全编程的最佳实践?()
A.使用强类型检查
B.使用经过审核的第三方库
C.定期进行代码审计
D.使用安全的编码规范
4.以下哪些方法可以实现数据加密?()
A. MessageDigest.getInstance("SHA-256")
ห้องสมุดไป่ตู้A.最小权限原则
B.最小化攻击面原则
C.代码审计原则
D.数据加密原则
12.以下哪些不是防范文件包含漏洞的有效方法?()
A.禁止包含用户可控的文件路径
B.对包含的文件类型进行限制
C.对包含的文件进行权限检查
D.使用相对路径包含文件
13.以下哪些工具可以进行安全漏洞扫描?()
A. SonarQube
B. FindBugs
12. A,B,C
13. A,B,C
14. B,D
15. A,B,C
16. A,B,C,D
17. A,B,C
18. A,B,C
19. A,B,C,D
20. B,C
三、填空题
python中的eval用法

python中的eval用法在Python中,eval()函数是一个内置函数,用于执行一个Python表达式并返回结果。
eval()函数非常有用,因为它可以用来执行任何Python代码,这在某些情况下非常方便。
然而,使用eval()函数时需要谨慎,因为它可以执行任何Python代码,因此可能会带来安全风险。
一、eval()函数的基本用法eval()函数接受一个字符串参数,该字符串可以是任何有效的Python表达式。
eval()函数会执行这个表达式,并返回结果。
例如,下面的代码演示了eval()函数的基本用法:```pythonexpr="2+3*4"result=eval(expr)print(result)#输出:14```在这个例子中,我们使用eval()函数执行了一个简单的算术表达式,并将其结果存储在result变量中。
二、eval()函数的用途eval()函数在很多情况下都非常有用。
它可以用来执行简单的算术表达式、逻辑表达式、变量赋值等。
此外,eval()函数还可以用来执行更复杂的Python代码片段,例如函数调用和类定义等。
eval()函数的主要用途包括:1.动态计算:eval()函数可以用来动态计算表达式和变量值,这在某些情况下非常方便。
例如,你可能需要根据用户输入来动态计算一些值,这时可以使用eval()函数来执行相应的表达式。
2.执行代码片段:eval()函数可以用来执行任何有效的Python代码片段,包括函数调用和类定义等。
这使得eval()函数在某些情况下非常有用,例如在调试和测试代码时。
3.动态数据结构:eval()函数可以用来创建和操作动态数据结构,例如列表、字典和集合等。
这使得eval()函数在某些情况下非常有用,例如在处理用户输入的数据时。
三、使用eval()函数的注意事项虽然eval()函数非常方便,但在使用时需要谨慎。
因为eval()函数可以执行任何Python代码,这可能会带来安全风险。
eval在python中用法

eval在python中用法
1. 嘿,你知道吗?eval 在 Python 中那可是相当厉害啊!就像一把万
能钥匙。
比如你有个字符串 "1+2",用 eval 一下就能得到结果 3 啦!
2. 哇塞,eval 能把字符串当作代码来执行呢!这多神奇呀!就像变魔术一样。
比如说有个字符串 "print('哈哈')",用 eval 就会真的输出“哈哈”呢!
3. 哎呀呀,eval 在某些时候可太好用啦!比如你动态地得到一些代码片段,它能直接帮你执行。
就好比一个智能小助手,随叫随到执行任务!
4. 嘿,你想想看,eval 可以让你的程序变得超级灵活啊!比如你根据不同
情况生成不同的表达式,都能用它来求值。
这跟孙悟空七十二变似的,厉害吧?
5. 哇哦,当你掌握了 eval 的用法,那感觉简直太棒啦!就跟掌握了一项超
能力一样。
比如你可以把用户输入的计算式用 eval 来得出结果,多酷呀!6. 哈哈,eval 真的是个很特别的存在呢!它可以让一些复杂的操作变得简单。
就好像有了一条捷径。
比如你要根据配置来执行特定代码,eval 就能大显身手啦!
7. 哟呵,可别小看了 eval 呀!它有时候能解决大问题呢!像个秘密武器。
比如说你要根据动态的规则来计算,这不就用上它啦!
8. 哇呀,eval 的本事可大了去了!能让你的编程像搭积木一样有趣。
就好
比你可以随意组合不同的模块来达成目的,是不是很牛?
9. 总的来说,eval 在 Python 中真的是个非常有用的工具!学会用它,能让你的编程之路更加顺畅呢!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C.A.M.© : A Tool for Evaluating and Adjusting Engineering CurriculumUmid R. NejibCollege of Arts, Sciences, and Professional StudiesWilkes UniversityWilkes-Barre, PA 18766Abstract - We are entering the new century in the midst of a technological revolution potentially more profound in its impact socially, politically, economically, and educationally than the industrial revolution of the last century. The ABET Engineering Criteria 2000 is an attempt to address these imperatives. It is evident that in order to develop a meaningful assessment tools for student outcomes, the program outcomes must first be articulated and understood. This is further complicated by the fact that the engineering curriculum requires continued review and adjustment in response to the rapid changes. To meet the challenge efficiently and effectively, it is proposed that an educational philosophy favoring an integrated approach to curriculum development and structure addressing an educational imperative be considered. The key component is the development of the Curriculum Attribute Matrix (C.A.M. ©). The end result of this pseudo-quantitative tool reflects the collective contributions of the existing courses/labs to the attributes (outcomes) of a specific program. The faculty, through appropriate syllabi changes rather than major curriculum overhaul, can make the necessary adjustments. This paper presents the methodology and the data of this process using an existing engineering programBackgroundWe have scarcely begun to identify the implications of the new technological revolution and adapt our institutions to change, although the first massive repercussions already have been felt with diminishing geographical boundaries, a highly diverse work force, an elevated educational profile, and rapid communication and dissemination media. Accordingly, an engineer must be technically competent, must offer competent public service for the benefit of society, and have a positive outlook of the changing world and its values. In fact, the history of engineering is closely linked to the history of the human race. It is, therefore, no surprise that the engineering profession is closely linked to the needs of society [1].No individual can be content or happy unless the society he or she lives in is in an optimistic and progressive mode. Educators are busy finding solutions within the confines of universities to demonstrate intellectual leadership. In most instances these solutions are in the form of course(s) added to the curriculum. The model of a university that creates an elitist culture has not been very successful in preparing scientists and engineers to meet the societal needs and advance the frontiers of knowledge.Similarly, a program advocating the delivery of good engineering education exclusively through discrete curriculum augmented by “high-tech” delivery system is pursuing “virtual” reality. Such an approach to curriculum design will be hard pressed to keep pace with the rapid expansion and changes in discovery; and the swiftness by which these discoveries are disseminated. The continued pressures on the faculty to maintain the viability of the curriculum will ultimately result. It then follows that the product of these programs will be engineers who lack the ability and knowledge to meet the societal and industrial demands. The dichotomy presents itself in the most classical form: a conflict between traditional structure and reality. The discrete framework for an engineering curriculum invites fragmentation of the learning process and cannot meet the needs of today’s changing “global order.” A need to reevaluate traditional curriculum design has become apparent.Redefining the format and the content of an educational program is not a simple task given the fact that traditional formal engineering education is the outcome of the western industrial revolution. Fortunately, the same tradition provides the premise to initiate these changes: progress. Progress is an excellent catalyst; it can stimulate science and engineering educators to seek alternatives rather than edit tradition. One such alternative is an instructional strategy based on the concept of “Dynamic Learning”, which has three components: Integrative Curriculum (IC), Societal and Industrial Interaction (SII), and Flexible Structure (FS). Taken together, the three components emphasize that technological professionals must learn not only how to create and manage technology, but to assess and manage the social and human consequences of that technology.Integrative CurriculumThe traditional approach to curriculum design has been to identify a set of courses and requirements which, when successfully completed, should produce graduates who possess the knowledge and ability to function as engineers. Curricula changes are conducted through the addition, deletion, and sometimes content modification of the courses. The relationship between the various courses is tenuous at best with the exception of what is termed as pre-requisite.Given the rapid expansion of the knowledge-base; the modification of this type of curriculum tends to crowd the 4-year requirements and place heavy demand on the students, faculty, and resources; forcing them to prioritize the course work. This prioritization usually results in slowly, but definitely may erode content, narrow focus, and in certain cases discourage creativity.An integrative approach to the curriculum is similar in its approach to the design process. First you define the product (in this case the outcomes), and then you proceed to develop the components (in this case the content). In addition, this curriculum is characterized by the fact that at the early stages of the program, the students follow a well-articulated outline of courses, labs, and activities. However, the students’ responsibilities vis-à-vis learning, increases as they progress through the program.The attributes or the outcomes as defined here are those characteristics and skill acquired upon graduation from a specific program of study. The attributes should be developed by the appropriate constituencies of the institution. The critical question at this point is not whether there is a need to move into an integrated approach to curriculum structure; but how can this be accomplished? An inherent difficulty associated with the transition into ABET 2000 Criteria.The AttributesTo initiate the transition and minimize the agony, program attributes (if you prefer the overused word outcome) must first be defined. In any event, the focus at this stage is the curriculum and not the individual course. Defining the attributes is probably the most difficult and time-consuming part of this undertaking. The faculty must avoid the trap of assuming that course titles are synonymous attributes. Attributes are divided into two categories: college/school-wide and program specific. The first should be developed by the college/school leadership team and applies to all programs, while the second is developed by the respective department and applies to a given program.It should be pointed out that this is a multi-dimensional process and requires sensitivity and good management on the part of the dean and the department/program chairs/directors to assure meaningful cooperation and information exchange between all constituencies of the unit. On the other hand, it should be accepted by everyone that perfection in defining the attributes is not a goal -- and that the attributes must be revisited and periodically re-evaluated. It is not a bad idea to set a deadline for the process, and keeping in mind to limit the number of attributes. Historically, ten is known to be a good limit!In one institution, the college/school attributes (the A attributes), which are the same for all programs offered, were defined by the following:A1.Creative problem solving, and constructive reasoning A2.Effective and clear verbal skillA3.Effective and clear writing skillsA4.Ethical standards & professionalismA5.Historical/Practical knowledge of scientific methods and safetyrmation retrievalA7.Life-long learning/professional growthA8.Multi-disciplinary experienceA9.Sciences/math interrelationshipsA10.Teamwork, collaborative effort, leadershipA11.Translate knowledge into research, experimentation, and applicationse of computer in problems and designThe program attributes (the B attributes) in this case the electrical engineering program were as follows:B1. AC/DC circuit analysis & transientsB2.Design concepts and projectsB3.Digital signals and systemsB4.Electromagnetics - high frequencyB5.Electromagnetics - theoryB6.Electronic communicationsB7.Electronic devicesB8.Energy conversion and sensorsB9.Engineering managementB10.Feedback systems and usesB11.Measurement and data acquisitionB12.Probability and statistics and usesB13.Quantitative methodsB14.Semiconductor physics, fabricationB15.Software utilization, programmingOn the other hand, the mechanical engineering program attributes were identified to be:B1.Design concepts and projectsB2.Electric and electronic circuits and devicesB3.Energy systemsB4,Engineering managementB5.Manufacturing process and robotics.B6.Material properties and selectionB7.Measurement and data acquisitionB8.Mechanics of motion and fluid systemsB9.Numerical methods and simulationB10.Probability and statisticsB11.Quantitative methodsB12.Software utilization and programmingB13.System analysis and designB14.Thermal science and systemsAnd the attributes for the computer science program were found to include:B1.Abstract Data Types / Object Oriented DesignB2.Analysis of Algorithms / Program testingputer scripting languagesB4.Concepts of direct access mappingB5.Concepts of distributed computer systemsB6.High level to machine language translationB7.Concepts of theoretical computer scienceB8.Define information system requirements and needs B9.Design and construction of computer programsB11.Discrete and continuous modeling and simulationB12.Features and applications of artificial intelligencermation systems designB14.Internal hardware structure (computer architecture) B15.Logical ordering methods (linked lists)B16.Machine level language concepts and instruction set B17.Mathematical concepts of computer graphicsB18.Program in a high level imperative languagerge scale program design and managementB20.Top Down Design / Structured ProgrammingB21.Understanding programming language conceptsExamining these attributes shows that the Computer Science is closer to being a list of courses than being phrases articulating program outcomes. This should be expected and the faculty is encouraged to review and streamline these attributes.Curriculum Attributes Matrix – C.A.M.©The objective of the Curriculum Attributes Matrix, C.A.M.©, is to ease the transition from discrete curriculum to an integrated one. It should simplify the assessment of individual courses and the contributions of the various courses to the curriculum as whole. What is more important is know what the existing program is accomplishing. This understanding of the curriculum can be easily masked by the continued changes of courses and course content.C.A.M.© is a two dimensional table. The attributes are defined on one axis and program courses/labs label the second. To assure better and focused analysis, the program courses/labs are divided into three categories. Thus for a given discipline, these are -- Required Program courses (RP): includes all courses identified and specifically listed as a requirement; Elective Program courses (EP): includes all other courses in the decline; and Required Non-Program courses (NRP): includes all courses outside the discipline but are specifically listed as a requirement in the program. In the case of electrical engineering program, RP are the electrical engineering courses listed as a requirement, while the EP represent all other electrical engineering courses which may be used as electives. The NRP courses are all non-electrical engineering courses, which are an explicit requirement for the electrical engineering program. These may include math, mechanical, computer science, physics, English etc. [2].It should be stressed that each table must be completed independently, and that all of the CAM three tables should constructed and completed by the program faculty only. The faculty rates the contribution of a given course/lab to all of the attributes using a uniform criteria for the level of contribution. It is understood that exact contribution of a given course to a given attribute is not a realistic expectation. Accordingly, a scale of 0-to-4 has been selected, where 0 represents no contribution, 1 represents the contribution to be within the 5% to 25% range. That is to say that the course/lab contributes between 5 and 25 percent of its time/activities/content etc. to that specific attribute. The wide range in defining these contributions is intentional; knowing that there are overlaps between attributes as well as between courses. The objective is to develop an understanding and not to place the course and the faculty in an academic straitjacket. Similarly, 2 represent the 26% to 50% range contribution, 3 represents the 51% to 75% range, and 4 represent the 76% to 100% range. A typical table for an electrical engineering RP table is detailed in Table 1 on the next page.The list of courses is represented by their respective designated numbers. In this case for example, EE-211/212 are the circuit analysis courses, and EE-251/252 are the electronic courses. There are independent lab courses such as EE-283/254/381/382, which are the measurement, electronics, solid state, and communication labs respectively. The number of hours per week (H/K) rather than the credit hours are being used due to the fact that in many cases credit hours do not reflect contact hours. Consider the example of a course that has a build-in laboratory or a stand alone laboratory course. These are given in the row with the H/W header.The gray areas in Table 1 designate calculated data. The information necessary for the assessment and review of the individual course/lab and/or the program curriculum as a whole is given in the row and columns designated by NC% and NA%. These represent Normalized Courses contribution percentage and Normalized Attributes contribution. For example the NC% of the course EE-391/2, the Senior Project, shows a total contribution a of 13% to the A-attributes and 5% to the B-attributes. On the other hand, the NA% for attribute A3 is 3% and for B15 it is 11%. Both the NC% and the NA% totals 100%, which is the full curriculum. Accordingly, Table 1 is a numerical summary of outcomes of individual courses or the collective outcome of the existing curriculum.In many instances the faculty were surprised by what CAM reveals. The example given in Table 1 shows that the program attribute Probability, Statistics, and Uses (B12) has a NA% of only 2% when the faculty thought that they had a much higher focus on the subject area – an NA% of at least 4%. On the other hand, the faculty was pleased to find that Creative Problem Solving, and Constructive Reasoning (A1) has an NA% of 17% which close to what they were hoping to achieve.Furthermore, the NC% of Advanced Communication Lab (EE-382) has an almost identical NC% of 22% and 21 to both the A and the B attributes respectively. Also the NA% of Measurement and Data Acquisition (B11) is somehow on the low end of only 3%. These results indicate that the program and/or the department have placed a heavy demand on EE-382 course, and on the faculty member aswell as the students. Furthermore, the program is known to be very much hands-on, which was not reflected in the NA%of B11. This is a case where C.A.M.© underlines to the faculty a situation in need of their attention and review.Table 1. Required Program Courses (EE Courses)In a similar fashion, the Non-Program Required (NRP) table is constructed. The course listing is assigned the top axis while the attributes occupy the vertical axis. The main difference here is that this table is developed in three steps. The first step is for the program faculty, in this case the electrical engineering faculty, to rate the contribution of each of the courses/labs to every attribute. Thus generating a table similar to Table 1. The rating at this step represents the electrical engineering faculty understanding on how this course/lab will contribute to their curriculum. This rating is usually based on the syllabus provided the acquired knowledge, and their perception of the specific course.The second step is to solicit the faculty of the department offering the course to provide the rating. If this rating is far off from the one recorded by the electrical engineering faculty, then a meeting is scheduled between both faculties to discuss the differences. This is a key step in the sense it brings about what is expected of a given course by one set of faculty to the attention of those providing the course. While syllabi do provide an insight, it does not replace the communication between both sets of faculty. This communication is one of the corner stones toward structuring an integrated curriculum.The final step is for the electrical engineering faculty to edit its initial rating based on discussions with their colleagues. The resulting rating is then represented in a table and the NC% and the NA% is calculated. Table 2, which isshown on the next page, is an example for the NRP table. Itis interesting to note that the Electricity & Magnetism course (PHY-202) contribute heavily to the curriculum so does the mathematics sequence MTH. While the physics courses contribute to both attributes the math courses fail to contribute to the A-attributes. Maintaining a dialogue with mathematics faculty can alleviate this deficiency.Table 2 Required Non-Program Courses (EE program)Furthermore, it can be seen that the English courses ENG-101/102, the Societal Impact course SOC-391/392, the Ethics and Professionalism course SSE-202 indicate no contribution to the B-Attributes. It should be noted that there is a writing intensive requirement throughout the engineering curriculum. Furthermore, the SSE-202 is taught by an electrical engineering faculty; and that the SOC-391/92 is a course intended to bridge technology and the management of technology to society including government regulatory guidelines. It is possible to argue at this time that some of the de-emphasis experienced is due to the format and the attitude used by the respective faculty. It is also an early warning to the department to pay attention and closely monitor these learning experiences. It would be interesting to compare the response of two departments. While the comparison may not be response to the A-attribute of the NRP will be considered. Table 3 the outcome of the mechanical engineering faculty completing that part. Examine Table 3 and the top part of Table 2 show an interesting point. That in spite of the diverse preparation and background of the faculty, the similarities in their conclusions and opinions far exceed their differences. For one, the EE RNP courses is almost the same as the ME RNP, eighteen and seventeen respectively of which fifteen courses are the same. Reviewing the NC% and the NA% show thehigh number of similarities [3].The mechanical engineering faculty concluded that the cumulative contributions of RNP courses to the A12 attribute, use of computer in problems and design, is meaningful and good (NA% of 12%). But, they see the contribution of the Computer Programming course (EE-145) to have much less impact on the A-attributes (NC% of 2%).Table 2 Required Non-Program Courses (ME program) – A-AttributesConclusionsThe challenge of ever-changing technology and societal needs will necessitate the implementation of a dynamic learning environment. The Curriculum Attributes Matrix, C.A.M.©, is a tool that makes it possible to summarize the curriculum as a whole vis-à-vis its outcomes. The C.A.M.© baseline outlines the current curriculum based on the definition of attributes/outcomes/objectives by the program faculty. C.A.M.© will display areas of over- or under-emphasis, and the adjustments can be made to address the imbalances observed. The difficult part is to articulate the B-Attributes and avoid making synonymous to a course listing.As in a design process, envisioned curriculum emphasis starts by re-defining an attribute(s). From there, the faculty can decide on which courses to delete, add, or modify to meet the desired changes. At the same time it they will be able to see how the curriculum is meeting the objectives. In developing the RNP table, the program faculty should attempt to interact with the appropriate discipline to assure a communication link, which in many cases tends to disappear.As was shown that the C.A.M.© tables reflect the opinion of faculty as it pertains to the contribution of courses to the attributes. What is interesting is that faculty of various disciplines have more common views than disagreements.AcknowledgementsI am indebted to many of my science and engineering colleagues who acknowledged the need for an integrated approach to the learning environment in general and the curriculum in particular. Their efforts in making this undertaking a reality is here by acknowledged.References1)Nejib, U.R., “Integrating Values and Knowledge inthe Preparation of Scientists and Engineers,”Proceedings of the International Conference on Values and Attitudes in Science and Technology, September 3-6, 1996, Kuala Lumpur, Malaysia.2)Nejib, U.R., (1996), “The Evolution of EngineeringEducation into the 21st Century: The Wilkes Approach.” Proceedings of the PCM ’96 Pacific Conference on Manufacturing ‘96, October 29-31, 1996, Seoul, Korea.3)Nejib, U. R., “CAM: A Tool for Designing andEvaluating Mechanical and Manufacturing Engineering Curriculum,” Proceedings of the PCM ‘98 Pacific Conference on Manufacturing, November3-7, 1998, Brisbane, Australia.。