ISU 2011-12 Undergraduate Catalog
Idaho State University Undergraduate Catalog 2011-2012

Department of Electrical Engineering and Computer Science

Chair and Professor: Mousavinezhad
Program Coordinator and Assistant Professor: Chiu
Professors: Beard, Bosworth, Naidu, Schou, Stuffle
Associate Professors: Ellis, Kantabutra
Associate Lecturer: Hart
Adjunct Faculty: Hunter, Jensen, Lefevre, Pan, Renlund
Affiliate Faculty: Suri

 Faculty Information    

 Electrical Engineering Web Page   
Electrical Engineering Degree and Courses   

Computer Science Web Page   
Computer Science Degree, Minor, and Courses   

        Electrical Engineering Courses

Bachelor of Science in Electrical Engineering

Accreditation

The undergraduate program in Electrical Engineering (EE) is accredited by the Engineering Accreditation Commission of ABET,  http://www.abet.org

Educational Objectives for Degree Program in Electrical Engineering

Educational Objectives have been established:

•    PEO1. Depth and Breadth: Produce graduates who demonstrate broad and in-depth knowledge in the practice of, or advanced study of, electrical engineering.
•    PEO2. Career Development: Produce graduates who will demonstrate and maintain the necessary knowledge and skills throughout their careers to solve problems in the complex modern work environment.
•    PEO3. Professionalism: Produce graduates who demonstrate professional responsibilities. 

Declaring an Electrical Engineering Major

To declare an Electrical Engineering major, a student must have an overall GPA of 2.0 and have completed all the key courses listed below with a grade point average (GPA) for these courses of at least 2.0 with no grade lower than C-. Each student should submit an application form (available in the College of Engineering Office) and transcripts as soon as possible (sophomore year) – and will not be allowed to register for any College of Engineering upper division course (i.e. those numbered 3000 or above) until officially declared an Electrical Engineering major.

Key Courses:

EE 2240    	Introduction to Electrical Circuits		3 cr
EE 2274,2275    Introduction to Digital Systems, and Lab 4 cr
CHEM 1111,1111L General Chemistry I, and Lab    5 cr
CS 1181 Computer Science and Programming I 3 cr
PHYS 2211,2212 Engineering Physics 8 cr

Electrical Engineering Degree Requirements

Including the University's General Education Requirements listed earlier (38 or 43 credits), the program of study for the Bachelor of Science in Electrical Engineering degree totals 129 or 134 credits as follows:

Science, Mathematics and Engineering Core Courses (44 credits):

CS 1181    	Computer Science and Programming I    		3 cr
CS 1182   Computer Science and Programming II    3 cr
CS/MATH 1187    Applied Discrete Structures    3 cr
ENGL 3307    Professional and Technical Writing    3 cr
MATH 1175    Calculus II    4 cr
MATH 2240    Linear Algebra    3 cr
MATH 2275    Calculus III    4 cr
MATH 3360    Differential Equations    3 cr
EE 2240    Introduction to Electrical Circuits    3 cr
EE 3340    Fundamentals of ElectricalDevices    3 cr
EE 3342    Fundamentals of ElectricalDevices Laboratory    1 cr
ENGR 3360    Engineering Economics    2 cr
EE 4416    Applied Engineering Methods    3 cr
ENGR 4496A    Project Design I    3 cr
ENGR 4496B    Project Design II    3 cr

College of Engineering Required Courses (47 credits):

EE 2274    	Introduction to Digital Systems    		3 cr
EE 2275    Introduction to Digital Systems Laboratory 1 cr
EE 3325    Electromagnetics    4 cr
EE 3329    Introduction to Electronics    3 cr
EE 3345    Signals and Systems    3 cr
EE 4400    Electrical Engineering Senior Seminar    1 cr
EE 4418    Communication Systems    3 cr
EE 4427, 4427L  Embedded Systems Engineering, and Lab    3 cr
EE 4429, 4429L  Advanced Electronics, and Lab    3 cr
EE 4472, 4472L  Electrical Machines and Power, and Lab      4 cr
EE 4473    Automatic Control Systems      3 cr
EE 4475    Digital Signal Processing      3 cr
EE 4484    Signal Processing Laboratory    1 cr
CS 4475    Computer Architecture and Organization    3 cr

IN ADDITION

EE Electives*        						6 cr
Upper division Technical Elective or EE elective    3 cr

*List of approved courses is available from the College of ­Engineering office.

Recommended Schedule
Fall Semester Freshman Year

CHEM 1111,1111L	General Chemistry I, and Lab    		5 cr
CS 1181    Computer Science and Programming I    3 cr
MATH 1170    Calculus I    4 cr
Social Science and Humanities Course    3 cr             
Semester Total  15 cr

Spring Semester Freshman Year

CS 1182		Computer Science and Programming II		3 cr 
CS/MATH 1187 Applied Discrete Structures    3 cr
ENGL 1102 Critical Reading and Writing    3 cr
MATH 1175 Calculus II    4 cr
PHYS 2211 Engineering Physics    4 cr
        					Semester Total  17 cr

Fall Semester Sophomore Year

COMM 1101    	Principles of Speech    			3 cr 
EE 2274, 2275   Introduction to Digital Systems, and Lab    4 cr
EE 2240    Introduction to Electrical Circuits    3 cr
MATH 2240    Linear Algebra    3 cr
PHYS 2212    Engineering Physics    4 cr
Semester Total  17 cr

Spring Semester Sophomore Year

Social Science and Humanities Course    			3 cr
EE 3340, 3342   Fundamentals of Electrical Devices, and Lab 4 cr
ENGR 3360    Engineering Management and Economics    2 cr
ENGL 3307    Professional and Technical Writing    3 cr
MATH 2275    Calculus III    4 cr
        Semester Total  16 cr

Fall Semester Junior Year

CS 4475    	Computer Architecture and Organization    	3 cr
EE 3325    Electromagnetics    4 cr
EE 3345    Signals and Systems    3 cr
EE 4472, 4472L  Electrical Machines and Power, and Lab    4 cr
MATH 3360    Differential Equations    3 cr
Semester Total  17 cr

Spring Semester Junior Year

EE 3329    	Introduction to Electronics    			3 cr
EE 4427,4427L   Embedded Systems Engineering, and Lab    3 cr
EE 4473    Automatic Control Systems    3 cr
EE 4416    Applied Engineering Methods    3 cr
Social Science or Humanities Course    3 cr
        Semester Total  15 cr

Fall Semester Senior Year

EE 4400		Electgrical Engineering Senior Seminar		1 cr
EE 4420, 4429L Advanced Electrical Systems, and Lab 3 cr
EE or Technical Elective 3 cr
EE or Technical Elective 3 cr
ENGR 4496A Project Design I 3 cr
Social Science or Humanities Course 3 cr
Semester Total 16 cr
Spring Semester Senior Year
EE 4418    	Communication Systems    			3 cr
EE 4475 Digital Signal Processing 3 cr
EE 4484 Signal Processing Laboratory 1 cr
EE or Technical Elective 3 cr
ENGR 4496B Project Design II 3 cr
Social Science or Humanities Course 3 cr
Semester Total 16 cr

Electrical Engineering Courses

EE 2240 Introduction to Electrical Circuits 3 credits. Passive circuit elements. DC circuits. Voltage and current sources. Circuit laws, theorems and node and loop analysis. Transients in RLC circuits. Introduction to AC circuits. Computer-aided analysis. PREREQ: MATH 1170. F

EE 2274 Introduction to Digital Systems 3 credits. Number systems; Boolean algebra fundamentals; system reduction, combinational and sequential logic. PREREQ: CS/MATH 1187. PRE-or-COREQ: EE 2275. F

EE 2275 Introduction to Digital Systems Laboratory 1 credit. Laboratory experience in the construction of basic digital logic circuits and state machines. PRE-or-COREQ: EE 2274. F

EE 3325 Electromagnetics 4 credits. Vectors and fields, electrostatics, magnetostatics, electrodynamics, Maxwell’s equations, boundary value problems, plane and guided waves. PREREQ: EE 3340, MATH 2275, and PHYS 2212; MATH 3360 recommended. F

EE 3329 Introduction to Electronics 3 credits. Introduction to semiconductor theory, diodes, bipolar junction transistors and amplifiers, metal-oxide-semiconductor field effect transistors and amplifiers, and frequency response. PRE-or-COREQ: EE 3340. S

EE 3340 Fundamentals of Electrical Devices 3 credits. AC circuits. Design of passive and active filters. Three-phase circuits. Transformers. AC and DC machines. Computer-aided analysis.  PREREQ: EE 2240. PRE-or-COREQ: EE 3342 and MATH 1175. S

EE 3342 Fundamentals of Electrical Devices Laboratory 1 credit. Laboratory course emphasizing basic electrical measurements and methods. PRE-or-COREQ: EE 3340. S

EE 3345 Signals and Systems 3 credits. Linear time-invariant systems, continuous and discrete; Fourier series, Fourier transforms, discrete Fourier transforms; Laplace transforms, z-transforms; state-space analysis. PREREQ: EE 3340. PRE-or-COREQ: MATH 3360. F

EE 4000 Senior Seminar 1 credit. Current topics in Electrical Engineering. PREREQ: Senior standing in Electrical Engineering. F

EE 4413 Techniques of Computer-Aided Circuit Analysis and Design 3 credits. Automatic formulation of equations and fundamental programming techniques pertinent to computer-aided circuit analysis, design, modeling. May include sensitivity calculations, system analogies, optimization. PREREQ: CS 1181, EE 3340, and EE 3342. D

EE 4416 Applied Engineering Methods 3 credits. Applied discrete and continuous probability, random variables, probability distributions, sampling, data description, parameter estimation, hypothesis testing, inference, correlation and linear and multiple regression. PREREQ: MATH 1170. S

EE 4418 Communication Systems 3 credits.  Basic principles of analysis and design of modern analog and digital communication systems, including transmission and reception.  PREREQ:  EE 3329 and EE 3345. S

EE 4427 Embedded Systems Engineering 2 credits. Integration of algorithms, software and hardware to design real-time and embedded systems for signal processing and control. PREREQ: CS 4475. PRE-or-COREQ: EE 4427L. S

EE 4427L Embedded Systems Engineering Laboratory 1 credit. Design and implement embedded signal processing and control systems through the integration of algorithms, software, and hardware. PRE-or-COREQ: EE 4427. S

EE 4429 Advanced Electronics 2 credits. Introduction to operational amplifiers and their applications, current mirrors, active loads, differential amplifiers, feedback and stability, filters, oscillators, Schmitt triggers, power amplifiers and voltage regulators. PREREQ: EE 3329. PRE-or-COREQ: EE 4429L. F

EE 4429L Advanced Electronics Lab 1 credit. Transistor biasing, amplifiers and other basic analog circuit designs. PRE-or-COREQ: EE 4429. F

EE 4432 Introduction to VLSI Design 3 credits. Photolithography, CMOS fabrication, MOSFET operation, CMOS passive elements, design rules and layout, CAD tools for IC design, inverters, static logic and transmission gates, dynamic logic. PREREQ: EE 3329. D

EE 4433 Mixed Signal Design 3 credits. Analog IC design. Passive components, parasitic elements, component matching, IC layout techniques, amplifiers, current sources, comparators, op amps, noise, switched capacitor circuits. Includes lab work using design tools. PREREQ: EE 4432. D

EE 4472 Electrical Machines and Power 3 credits. Theory and application of electrical machinery and transformers. Power and energy relationships in power systems. PREREQ: EE 3340 and EE 3342. PRE-or-COREQ: EE 4472L. F

EE 4472L Electrical Machines and Power Laboratory 1 credit. Experimental study of the fundamental physical phenomena and characteristics of transformers, induction motors, synchronous and direct current machines. PRE-or-COREQ: EE 4472. F

EE 4473 Automatic Control Systems 3 credits.  Continuous-time control systems using both frequency-domain and state-space techniques. Topics include design methodology, performance specifications, analysis and design techniques. PREREQ: EE 3345 or ME 4405. S

EE 4474 Advanced Circuit Theory 3 credits. Methods of analog electrical circuit analysis and synthesis. Topics include signal flow graphs, multi-port networks, simulation ­techniques, and topological methods for formulation of network equations. PREREQ: EE 3340. D

EE 4475 Digital Signal Processing 3 credits. Discrete, fast Fourier and Z-transforms, correlation, convolution, finite and infinite  impulse response digital filter design, spectral analysis and adaptive digital filters. PREREQ: EE 3345. PRE-or-COREQ: EE 4484. S

EE 4476 Semiconductor Processing and Fabrication 3 credits. Silicon semiconductor processing and basic integrated circuit fabrication. Physics, chemistry and technology in basic processing steps in production of integrated circuits. PREREQ: PHYS  2212 or equivalent. D

EE 4478 Semiconductor Devices 3 credits. Operating principles of basic building blocks of modern silicon-based semiconductor devices to include p-n junctions, field effect transistors and bipolar junction transistors. PREREQ: PHYS 2212 or equivalent. D

EE 4479 Advanced Semiconductor Devices 3 credits. Review of semiconductor band theory. Opto-electronics, quantum mechanics, heterojunctions, power and microwave semiconductor devices. PREREQ: EE 4478 or equivalent. D

EE 4481 Independent Problems 1-3 credits. Students are assigned to, or request assign¬ment to, independent problems on the basis of interest and preparation. May be repeated for a maximum of 6 credits. Cross-listed as CE/ENGR 4481 and CS 4482. PREREQ: Permission of instructor. D

EE 4482 Principles of Power Electronics 3 credits. Introduction to steady state converter modeling and analysis. Principles of converter dynamics and control including controller design. PREREQ: EE 3329. PRE-or-COREQ: EE 4473. D

EE 4484 Signal Processing Laboratory 1 credit. Design finite and infinite response digital filters in digital signal processing  applications. PRE-or-COREQ: EE 4475. S

EE 4491 Digital Control Systems 3 credits. Analysis and design of digital control systems, Z-transforms, transient response, stability, root locus, frequency response, design, state-space and state feedback.  PREREQ: EE 4473. D

EE 4496A Project Design I 3 credits. Semester one of a two semester sequence dealing with the conceptual design of multi-disciplinary projects requiring multi-disciplinary teams. Cross-listed as CE/CS/ENGR/ME 4496A. PREREQ: Approval of application for admission to course.  F

EE 4496B Project Design II 3 credits. Continuation of design sequence dealing with the design, analysis, implementation, and consequences of multi-disciplinary projects. Cross-listed as CE/CS/ENGR/ME 4496B. PREREQ:  EE 4496A. S


Bachelor of Science in Computer Science

Accreditation

The Bachelor of Science (B.S.) program in Computer Science (CS) is accredited by the Computing Accreditation Commission of ABET,  http://www.abet.org.

Educational Objectives for Degree Program in Computer Science

The goal of the Computer Science Program at Idaho State University is to provide students with a broad, yet rigorous Computer Science education, with emphasis in operating systems, computer organization and architecture, data structures and algorithms, software implementation, programming languages, and project management.

Graduates earning a Bachelor of Science in the Computer Science program will have:

Declaring a Computer Science Major
Prior to declaring the major, a student is classified as a "pre-computer science" student. Students should declare their major as soon as possible, as enrollment in upper division computer science courses (i.e. those numbered 3000 or above) is contingent upon that declaration. A student pursuing a computer science degree will not be allowed credit for any College of Engineering upper division course until a declaration of computer science major form has been filed with the College. Students must also agree to complete ENGL 3307, Professional and Technical Writing, within the first year of declaring the Computer Science major.

Key Courses

Mathematics:

MATH 1170	Calculus I					4 cr
MATH 1175 Calculus II 4 cr
MATH 2240 Linear Algebra 3 cr

Chemistry:

CHEM 1111,1111L, and CHEM 1112,1112L
General Chemistry I, II, and Labs 9 cr

    OR

Physics:

PHYS 2211, 2213, 2212, and 2214 
Engineering Physics I, II 10 cr

Computer Science:

CS 1181		Computer Science and Programming I		3 cr
CS 1182 Computer Science and Programming II 3 cr
CS/MATH 1187 Applied Discrete Structures 3 cr
CS 2282 Advanced Computer Programming 3 cr
CS 2263 Advanced Object-oriented Programming 3 cr

The program of study for the Bachelor of Science in Computer Science degree  totals 130 credits as follows:

General Education and Mathematics Requirements (40-46 credits minimum)
Students pursuing a Bachelor of Science in Computer Science must complete the University's General Education Requirements using the following courses:

Goal 1		ENGL 1102, Critical Reading and Writing		3 cr
Goal 2 COMM 1101, Principles of Speech 3 cr
Goal 3 MATH 1170, Calculus I 4 cr
Goals 4 and 5 are met by taking EITHER of the following
sequences plus two additional courses in the physical
or biological sciences, to total 15 or 16 cr:
CHEM 1111, 1111L and CHEM 1112, 1112L
General Chemistry I and II, and Labs 9 cr
OR
PHYS 2211,2214 Engineering Physics I, II,
and Labs 10 cr
Two additional courses* in the physical and
biological sciences 6 cr
Any two of Goals 6, 7, and 8 6 cr
Any three of Goals 9, 10 (A or B), 11, and 12 9 or 14 cr

*Please consult with a CS advisor for a lit of approved courses.

Additional Mathematics Courses (10 credits):

MATH 1175	Calculus II					4 cr
MATH 2240 Linear Algebrar 3 cr
MATH 3352 Introduction to Probability 3 cr

Major Core Requirements (53 credits)
Computer Science students must complete the following group of core courses:

CS 1181		Computer Science and Programming I		3 cr
CS 1182 Computer Science and Programming II 3 cr
CS/MATH 1187 Applied Discrete Structures 3 cr
CS 2263 Advanced Object-oriented Programming 3 cr
CS 2282 Advanced Computer Programming 3 cr
CS 3321 Fundamentals of Software Engineering 3 cr
CS 3385 Data Structures and Algorithm Analysis I 3 cr
CS 3386 Data Structures and Algorithm Analysis II 3 cr
CS 4451 Database Theory and Implementation 3 cr
CS 4460 Comparative Programming Languages 3 cr
CS 4475 Computer Architecture and Organization 3 cr
CS 4477 Operating Systems 3 cr
CS 4491 Computer Science Ethical-Societal Issues 3 cr
CS 4496A Project Design I 3 cr
CS 4496B Project Design II 3 cr
EE 2274 Introduction to Digital Systems 3 cr
ENGR 3360 Engineering Economics 2 cr
ENGL 3307 Professional and Technical Writing 3 cr

Major Elective Requirements (12 credits):

Computer Science students must complete twelve credits of upper division major elective coursework, chosen from the following list:*

CIS 4411	Intermediate Information Assurance***		3 cr
CIS 4485 Network and Communication Systems III 3 cr
CiS 4487 Software Systems Study
of the Software Implementation Process*** 3 cr
CIS 4491 Seminar in Computer Information Systems**,*** 3 cr
CS 3331 Web Programming 3 cr
CS 3342 Computer Graphics 3 cr
CS 3343 Neural Networks 3 cr
CS 3344 Artificial Intelligence 3 cr
CS 4420 Cryptography and Security 3 cr
CS 4442 Graphical User Interfaces 3 cr
CS 4444 Image and Audio Processing 3 cr
CS 4445 Data Compression 3 cr
CS 4470 Parallel Processing 3 cr
CS 4480 Theory of Computation 3 cr
CS 4481 Compilers and Lexical Analysis 3 cr
CS 4487 Topics in Computer Science 3 cr
EE 3345 Signals and Systems 3 cr
EE 4413 Techniques of Computer-aided
Circuit Analysis and Design 3 cr
EE 4417 Probabilistic Signals and Systems 3 cr
EE 4427 Embedded Systems Engineering 3 cr
EE 4475 Digital Signal Processing 3 cr
EE 4494 Embedded Systems and Control Laboratory 1 cr
EE 4499 Special Topics** 3 cr
ENGR 3364 Engineering Numerical Techniques 3 cr
MATH 4441 Introduction to Numerical Analysis I 3 cr
MATH 4442 Introduction to Numerical Analysis II 3 cr
MATH 4465 Partial Differential Equations 3 cr

* Other choices may be approved by Computer Science advisors on an individual basis.
** With prior advisor approval.
*** No more than 6 credits of business/CIS courses from this list may be applied toward degree ­requirements.

Additional Electives (14-15 credits)

  1. Students must take enough additional elective courses to total at least 130 credits.
  2. A minimum of 64 non-computing credits must be taken in meeting graduation requirements.
  3. Passing grades are required in all courses, and at least a 2.00 GPA is required for graduation.

Minor in Computer Science

Students receiving degrees in all colleges may satisfy the requirements for a Minor in Computer Science (CS) by completing the following courses. Students pursuing this minor must consult with a CS advisor early in their program to complete a Program of Study Agreement.

Required Courses:

CS 1181		Computer Science and Programming I		3 cr
CS 1182 Computer Science and Programming II 3 cr
CS/MATH 1187 Applied Discrete Structures 3 cr
CS 2263 Advanced Object-oriented Programming 3 cr
CS 2282 Advanced Computer Programming 3 cr
MATH 1170 Calculus I 4 cr
MATH 1175 Calculus II 4 cr

Computing Electives:
Six upper division credits in Computer Science, Computer Information Systems, or Electrical Engineering, chosen with the approval of a Computer Science advisor. 


Computer Science Courses

CS 1181 Computer Science and Programming I 3 credits. Problem solving methods and algorithm development with an emphasis on programming style. Lecture and ­laboratory. PRE-or-COREQ: MATH 1143 or MATH 1147. F, S

CS 1182 Computer Science and Programming II 3 credits. Continuation of CS 1181, including such topics as data structures, sorts, searches, recursion, and object-oriented programming concepts. PREREQ: CS 1181. PRE-or-COREQ: MATH 1170. F, S

CS 1187 Applied Discrete Structures 3 credits. Discrete structures in CS and EE. Boolean algebra and logic; sets, functions, and relations; iteration, recursion, and induction; algorithms; programming in pseudocode; basic counting principles; graphs and trees; and other selected topics from discrete mathematics.  Cross-listed as MATH 1187.  PREREQ: CS 1181. S 

CS 2263 Advanced Object-oriented Programming 3 credits. Advanced programming in a modern object-oriented language, different from the one used in CS 1181 and CS 1182; philosophy, application, and examples of object-oriented concepts and techniques; comprehensive survey of software-engineering design patterns. PREREQ: CS 1182. S

CS 2282 Advanced Computer Programming 3 credits. Further supervised programming experience, covering advanced features of the language used in CS 1182. Includes the use of a Unix-like operating system. PREREQ: CS 1182. F

CS 3321 Fundamentals of Software Engineering 3 credits. Formal approaches and tools for conceiving, designing, building, testing, deploying, maintaining, and documenting large software systems; software lifecycle models; project and team management; verification and validation techniques; legal and ethical issues. Includes a major software development project. PREREQ: CS 2263 or CS 2282, and admission to major. F

CS 3331 Web Programming 3 credits. HTML, server- and client-side programming, web-based database programming. PREREQ: CS 2263. R2

CS 3342 Computer Graphics 3 credits. ­Covers raster graphics, primitives, scan conversion, geometric transformations, object hierarchies, curves and surfaces, solid modeling, visible surface determination, illumination, shading, manipulation and advanced modeling techniques. PREREQ: CS 2263 and MATH 2240. R2

CS 3343 Neural Networks 3 credits. Survey of neural network architectures and applications. Training algorithms, multi-layer perceptrons, backpropagation, learning and generalization, Hopfield and recurrent nets. PREREQ: CS 2263, CS/MATH 1187, MATH 2275, and MATH 3352. R2

CS 3344 Artificial Intelligence 3 credits. Fundamental principles and techniques of artificial intelligence systems; search strategies; knowledge acquisition and representation; commonsense reasoning; planning; machine learning; expert systems; intelligent agents and multi-agent systems. PRE-or-COREQ: CS 3386. R2

CS 3385 Data Structures and Algorithm Analysis I 3 credits. Analysis and design of non-numeric algorithms which act on data structures. PREREQ: CS 2263 or CS 2282, and admission to major, and either CS/MATH 1187 or MATH 2240. F

CS 3386 Data Structures and Algorithm Analysis II 3 credits. Continuation of CS 3385. PREREQ: CS 3385. S

CS 4420 Computer Security and Cryptography 3 credits. Public key and private key cryptography, key distribution, cryptographic protocols, requisite mathematics and selected topics in the development of security and cryptography. PREREQ: CS 3385. R2

CS 4442 GUI Development 3 credits. Planning and construction of Graphical User Interfaces and discussion of essential software engineering concepts. Includes the use of a modern toolkit language. PRE-or-COREQ: CS 3385. R2

CS 4444 Image and Audio Processing 3 credits. Image/audio acquisition, quantization, spatial and spectral filters, sharpening, smoothing, restoration, compression, segmentation, Fourier and Wavelet transforms. PREREQ: CS/MATH 1187, MATH 3352, and MATH 3360. R2

CS 4445 Data Compression 3 credits. A survey of modern techniques of data compression, both lossy and loss-less, and encryption. PRE-or-COREQ: CS 3386. R2

CS 4451 Database Theory and Implementation 3 ­credits. Data models, relational algebra, SQL, data storage, index structures, query ­compilation and execution, concurrency control. PREREQ: CS 2263 and CS 3385. PRE-or-COREQ: CS 3386. S

CS 4460 Comparative Programming Languages 3 credits. Design of historical and ­contemporary programming languages, concentrating on promoting understanding of structural organization, data structures and typing, name structures, and control structures. PREREQ: CS 3385. PRE-or-COREQ: CS 4475. F

CS 4470 Parallel Processing 3 credits. Topics in high-performance computing: parallel architectures, SIMD, MIND, SMP, NUMA models, message passing, cache coherency issues, MPI, PVM, parallel programming languages, cluster and grid approaches, applications and experience programming on a cluster. PRE-or-COREQ: CS 3385. R2

CS 4475 Computer Architecture and Organization 3 credits. Design, implementation, and performance evaluation of modern computer systems; instruction sets; datapath and control optimizations; single-cycle, multiple-cycle, and pipelined processors; hazard detection and resolution; memory hierarchies; peripheral devices. PREREQ: EE 2274. F

CS 4477 Operating Systems 3 credits. Processes description and control, threads, concurrency, memory management scheduling, I/O and files, distributed systems, security, networking. PREREQ: CS 2263 and CS 4475. S

CS 4480 Theory of Computation 3 credits. Finite representations of languages, deterministic and nondeterministic finite automata, context free languages, regular languages, parsing, Turing Machines, Church’s Thesis, uncomputability, computational complexity classes. PRE-or-COREQ: CS 3385. R2

CS 4481 Compilers and Lexical Analysis 3 credits. Covers lexical analysis, syntax analysis, top-down, bottom-up, and LR parsing, syntax-directed translation, type checking, code generation and optimization, writing a compiler PRE-or-COREQ: CS 3386. R2

CS 4482 Independent Problems 1-3 credits. Students are assigned to, or request assignment to, independent problems on the basis of interest and preparation. May be repeated for a maximum of 6 credits. Cross-listed as CE/ENGR/EE 4481. PREREQ: Permission of instructor. D

CS 4487 Topics in Computer Science 3 credits. Selected topics in Computer Science will be chosen depending on the instructor’s interests. PREREQ: CS 3386. D

CS 4491 Computer Science Ethical-Societal Issues 3 credits. Investigate various ethical issues arising in the profession, ranging from research to commercial settings. The societal impacts of computing and its prevalence in all aspects of the modern world are investigated. Seminar format: students will read papers, make oral presentations, conduct class discussion, and submit written reports. F

CS 4496A Project Design I 3 credits. Semester one of a two semester sequence dealing with the conceptual design of multi-disciplinary projects requiring multi-disciplinary teams. Cross-listed as CE/EE/ENGR/ME 4496A. PREREQ: ­Approval of application for admission to course. F

CS 4496B Project Design II 3 credits. Continuation of design sequence dealing with the design, analysis, implementation, and consequences of multi-disciplinary projects. Cross-listed as CE/EE/ENGR/ME 4496B. PREREQ: CS 4496A. S 



IDAHO STATE UNIVERSITY
Academic Information 
Contact: webmaster@isu.edu
Revised: March 2011