سر فصل و راهنمای دروس
سر فصل و راهنمای دروس
Shiraz University
Computer Science and Engineering
Course Catalog
(Updated on Oct 24, 2021)
Calculus 1
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Description:
Cartesian coordinates; polar coordinates; complex numbers; summation, multiplication, radical and geometrical representation of complex numbers; polar representation of complex numbers; function; algebra of functions; limit and related theories; infinite limit and limit at infinity; lefthand and righthand limit; continuum; derivative; derivative rules; inverse function and its derivative; derivative of trigonometric functions and their inverse functions; Roll's theorem; mean; value theorem; geometrical and physical applications of derivative; curves and acceleration in polar coordinates; application of derivative in approximation of equations roots; definition of integral of continuous and piecewise continuous functions; fundamental theorems of differential and integral calculus; primary function; approximation estimate methods of integral; application of integral in calculation of surface area and volume and curve length and momentum and center of gravity and work, etc. (in Cartesian and polar coordinates); logarithm and exponential function and their derivatives; hyperbolic functions; integration methods such as change of variables and by parts and partial fractions decomposition; special variable replacement of sequence, numerical series and convergence theories; power series and Taylor theorem with residual, Taylor expansion.
Suggested Textbooks:
Calculus 2
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Calculus 1
Description:
Parametric equations; space coordinates; vector in space; scalar product; 3×3 matrices; linear equations system with 3 unknowns; operation on rows; inverse matrix; solving of linear equations system; linear independence; base in R2, R3; linear transformation and its matrix; 3 × 3 determinant; characteristic vector and value; vector product; equations of line and plane; second order surface; vector function and its derivative; velocity and acceleration; curvature and normal vectors on curves; multivariable functions; total and partial derivative; tangent plane and normal line; gradient; chain rule for partial derivative; exact differential of double and triple integrals and their applications in geometrical and physical problems; change of variable in integration (without proof of accuracy); spherical and cylindrical coordinates; vector field; curvilinear integral; surface integral; divergence; curl; Laplacian; potential, Green and Stokes and divergence theorems.
Suggested Textbooks:
Physics 1
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Description:
Measurement, vectors, onedimensional motion, motion in one plane, dynamics of particle, work and energy, energy preservation, dynamics of particles systems, rotary kinematics, balance of solid bodies, temperature fluctuation, heat, 1st thermodynamics law, gas kinetic theory, and 2nd thermodynamics law.
Suggested Textbooks:

Fundamentals of physics, by D. Halliday & R. Resnick (1986), John Wiley & Sons, Inc.
Physics 2
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Physics 1 (Heat and Mechanics), Calculus 1
Description:
Charge & matter, electrical field, Gauss law, electrical potential, capacitors and dielectric, current & resistance, electrical kinetics and circuits, magnetic field, Ampere's law, Faraday induction law, matter magnetic properties & oscillations, alternate currents, Maxwell equations, electromagnetic waves.
Suggested Textbooks:

Fundamentals of physics, by D. Halliday & R. Resnick (1986), John Wiley & Sons, Inc.
Engineering Probability and Statistics
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Calculus 2
Description:
Introduction to set theories, samples and table representation with mean, power, variance, conversion & probabilities combination with related theorems, intermediate random variables, average & variance, distributions, binomial Poisson' distribution, geometric difference, normal distribution, multivariate random distribution, random sampling and random numbers, sampling from small society, estimation of statistical parameters, confidence interval, hypothesis test of decisionmaking, assumption test, variance experience regression, correlation test, nonparametric methods, direct data fitting line, momentum generator functions, large number theorem, central limit test, sum of independent random variables, conditional probability, total probability theorem.
Suggested Textbooks:

A. Poppulis and S. Pillai. Probability, Random Variables and Stochastic Processes. 4th Edition, McGraw Hill, 2002 (Chapters 1 through 8).

S. Ross. A First Course in Probability. 10th Edition, Prentice Hall, 2019.

G. Casella and R. L. Berger. Statistical Inference. 2nd Edition, Wadsworth Press, 2002.
Differential Equations
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Calculus 2
Description:
Nature of differential equations and solving, family of curves and normal trajectories, physical models, separable equation, firstorder linear differential equation, homogeneous equation, secondorder linear equation, homogeneous equation with constant coefficient, method of undetermined coefficients, parameter changing method, application of secondorder equations in physics and mechanics, solving differential equation with series, Bessel and Gamma functions, Legendre' polynomial, introduction to differential equation systems, Laplace transformation and its application in solving differential equations.
Suggested Textbooks:
Computer Workshop
Credit Hours: 1.0
Lecture Contact Hours: 0 Lab Contact Hours: 1
Prerequisite: Fundamentals of Computer Programming
Description:
History, kinds and applications of computer including personal computer, working station, minicomputers, big and supercomputers, structures and accessories including motherboard, output and input board, keyboard, screen, printer, scanner, platter, modem, series and parallel gates, secondary memories, introduction to media DOS, windows 95, windows NT, editors such as vi and edit, introduction to internet including mail, ftp, Telnet, web, introduction to some applied software such as Word, Latex, Excel and Corel.
Suggested Textbooks:

C. Newman, SAMS Teach Yourself PHP in 10 Minutes. Sams Publishing, 2005.

D. Hayes, Sams Teach Yourself HTML in 10 Minutes. 4th Edition, Sams publishing, 2006.

R. Weakley, Sams Teach Yourself CSS in 10 Minutes. Sams Publishing, 2005.

B. Forta, Sams Teach Yourself Regular Expressions in 10 Minutes. Sams Publishing, 2004.

R. Shimonski, SAMS Teach Yourself Unix in 10 Minutes. Sams Publishing, 2005.

J. Andrews, A+ Guide to Managing & Maintaining Your PC. 7th Edition, Course Technology, 2009.

Cisco Networking Academy, IT Essentials PC Hardware and Software Course Booklet. Version 4.1, 2nd Edition, Cisco Press, 2010.
Physics Lab
Credit Hours: 1.0
Lecture Contact Hours: 0 Lab Contact Hours: 1
Prerequisite: Physics 2
Description:
According to the syllabus presented in physics II.
Suggested Textbooks:
Fundamentals of Computer Programming
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Description:
problem solving, algorithm presentation using pseudocode, introduction to an organized programming language, constants, variables, computational and logical phrases, types of instructions, types of loops, conditional operations, vectors and matrices, subprograms (functions and procedures), input and output instructions, common algorithm such as methods of search and sort
Suggested Textbooks:

P. Deitel and H. Deitel. C: How to Program. 8th Edition, PrenticeHall, 2016.

B. W. Kernighan and D. M. Ritchie. The C Programming Language. 2nd Edition, Prentice Hall, 1988.
Electrical Circuits
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Differential Equations
Description:
Compact circuits & Kirchhoff's Laws, approximation & modeling of circuit elements including: registers, unclosed and reclosed resources (voltage & current) capacitors, selves, power, energy, operational amplifiers (OPAMP) as a circuit element, simple circuits such as: resistor circuits, analytical methods of resistor circuits, labeling two terminals of a circuit, Tonen, Norton equivalent circuit & commutative theorem in resistor circuits, resources conversion, arranging selves, capacitors, application of spice in solving resistor circuits, first order circuits including RL & RC circuits, zero input responses, response at zero state, complete, transient and permanent responses, time coefficients and circuits with several time coefficients, switching, plateau & impulse responses, 2nd order circuits, stability, oscillation negative resistance concepts, double circuits, similarity of electrical & mechanical systems.
Application of spice in solving 1st and 2nd logic circuits and OPAMP, analytical methods for linear circuits (network and node analysis(, importance of impulse response and estimation in general linear circuits (time domain analysis) & convolution theorem, permanent sinusoidal state analysis including: concepts of phasor and impedance, admittance, phasor diagram, concepts of resonance and series & parallel resonance circuits, network functions frequency responses, power at permanent sinusoidal state, average, real and reactive power, maximum power transfer theorem, effective values & RMS, scale change in a circuit, application of spice in solving permanent sinusoidal circuits, triphase circuit analysisconjugated circuits including conjugated selves, circuits equivalent of T, π conjugated selves, inductance matrix, connecting conjugated selves, transformers, circuit models & their applications, application of spice in solving selves administrated circuits and transformers
Suggested Textbooks:

Charles A. Desoer and Emest S. Kuh, Basic Circuits Theory, McGrawHill, 1970.

L. O. Chua, C. A. Desoer and E. S. Kuh, Linear and Nonlinear Circuits, McGraw Hill, 1987.

James W. Nilson, Electric Circuit (4th edition), Addison Wesley, 1995.

Lawrence P. Huelsman, Basic Circuit Theory (3rd edition), PrenticeHall, 1991.

G. Base & N. Stevens, Introductory Network Theory, McGrawHill
Discrete Mathematics (Discrete Structures)
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite:
Description:
Introduction: mathematical logic, algebra of expressions, wellstructured formula, a review
of theory of sets, proof methods.
Relations and functions: binary relations, compatibility and equivalence relations, relations
representation matrix, graphs of relations, functions, coverage functions, one to one functions.
Recursive functions, deduction, generator functions.
Algebraic structures: semigroups and monoids, grammars and languages, Polish marking, groups, homomorphism, isomorphism, lattices, Boolean Algebra, Carnot table, grammar and language, grammar as an example of monoids
Combinatorial analysis, nest principles, introduction to combinatorial algorithm, regressive and reciprocal functions and applications.
Graph theory: directional graphs, unidirectional graphs, Eulerian and Hamiltonian paths, optimal paths, finding algorithm for optimal paths, connected graphs, matrix of relation and related theorems, application of graphs in activity analysis.
Trees: minimal overlapping trees, surveying of trees, application of trees, algebraic expressions and representation of their trees.
Suggested Textbooks:

K. H. Rosen. Discrete Mathematics and Its Applications. 8th Edition, McGraw Hill, 2018.

R. P. Grimaldi. Discrete and Combinatorial Mathematics: An Applied Introduction. 5th Edition, Pearson Addison Wesley, 2004.

A. Engel. ProblemSolving Strategies. Springer, 1998.
Advanced Programming
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Fundamentals of Computer Programming
Suggested Textbooks:

P. Deitel, H. Deitel. Java: How to Program. 11th Edition, Pearson Education, 2017.

B. Eckel. Thinking in Java. 4th Edition, Prentice Hall, 2006.

M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts. Refactoring: Improving the Design of Existing Code. AddisonWesley, 1999.
Data Structures
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Advanced Programming, Engineering Mathematics
Description:
Introduction to various data structures (stacks, queues, lists, hash tables, trees, heaps, and graphs); sorting and searching; design, analysis, and comparison of algorithms.
Suggested Textbooks:

T. Cormen, C. Leiserson, R. Riverst, and C. Stein. Introduction to Algorithms. 3rd Edition, MIT Press, 2011.
Digital Circuits (Logic Design)
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Data Structures
Description:
Number representation system and coding, representation of negative numbers, key logic, negative test and triple state logic, overall structure of logical gates and its types, logic functions and simplification of them including: Carnot's methods and scheduling and tabulation method, computerized procedures for simplification of combination functions, decoding and coding circuits design, code converters, subtractions, summation, selectors, and comparators, collectors and destructors, logical and computational units, use of decoders, selectors and other packages for drawing combinatorial circuits, PAL, PLA & ROM, and other regular structures, leach and flipflaps structures, synchronous circuits, comparison between state circuits under Moore & Mealy, numerators, shift registers, asynchronous circuits, study of hazards and race, allotting state without race, common chips in, sequential circuits, and designing or study of one type of machines or control and data section, modern designing methods.
Suggested Textbooks:

M. Morris Mano. Digital Design. 5th Edition, Prentice Hall, 2006.

Victor P. Nelson, H. Troy Nagle, Bill D. Carroll, David Irwin. Digital Logic Circuit Analysis and Design. Prentice Hall, 1995.

Franklin P. Prosser and David E. Winkel. The Art of Digital Design: An Introduction to TopDown Design. Prentice Hall, 1987.
Theory of Computation
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Data Structures
Description:
Finite automata, Pushdown automata, touring machine, different types of grammars and languages, Chomsky classification, relation between languages and machines and the relevant theorems.
Suggested Textbooks:

M. Sipser. Introduction to the Theory of Computation. 3rd Edition, Cengage Learning, 2013.

P. Linz. An introduction to formal languages and automata. 3rd Edition, Jones and Bartlett Publishers, 2001.

J. E. Hopcroft, R. Motwani, and J. D. Ullman. Introduction to automata theory, languages, and computation. 2nd Edition, AddisonWesley, 2001.

J. P. Denning, J. B. Dennis, and J. E. Qualitz. Machines, languages, and computation. PrenticeHall, 1978.

J. E. Hopcroft and J. D. Ullman. Introduction to automata theory, languages, and computation. AddisonWesley, 1979.

P. J. Cameron. Sets, Logics and Categories. Springer, 1998.
English for Computer Engineers(English for Computing)
Credit Hours: 2.0
Lecture Contact Hours: 2 Lab Contact Hours: 0
Prerequisite: General English
Description:
This subject aims at raising students' specific language ability in reading and writing academic texts of their own major disciplines. The subject will use reading texts from chapters of books or journal articles recommended by teachers of different majors for reading comprehension. These texts will also be used for analysis to enable students to develop an awareness of the genre in that particular discipline.
Suggested Textbooks:

S. R. Esteras and E. M. Fabré. Professional English in UseICT. Cambridge University Press, 2007. (Main Textbook)

E. Glendinning and J. McEwan. Oxford English for IT. Oxford University Press, 2006.
Technical Writing and Presentation (Scientific and Technical Presentation)
Credit Hours: 2.0
Lecture Contact Hours: 2 Lab Contact Hours: 0
Prerequisite: English for Computer Engineers(English for Computing)
Description:
Different types of scientific and technical subjects (letters, reports, pamphlets, manual and etc.), common points in all scientific and technical writings: specifying the objective of writing and its eventual readers, organizing the subjects, abstract of essay together with report, the role of a good introduction, dividing the subjects into parts and chapters, discussion and conclusion, preparing source and reference index, attachments, preparing the pictures and diagrams and tables. Important points in translation of scientific and technical subjects, writing style, marking and its importance, preparing final format of writing by typing machine or computer, footarticle, notes and other lateral subjects, an introduction to research methods, presenting subjects orally, effective use of audiovisual devices, the rules and process of drawing up graduation diploma including the main parts of thesis and details of each part, preparing and presenting a scientific essay (as assignment).
Suggested Textbooks:

Barbara Gastel and Robert A. Day. How to Write and Publish a Scientific Paper. 8th Edition, Cambridge University Press, 2016.

Michael Alley. The Craft of Scientific Presentations Critical Steps to Succeed and Critical Errors to Avoid. 2nd Edition, Springer, 2013.
Engineering Mathematics
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Calculus 2, Differential Equations
Description:
Fourier series and its integral and Fourier transform: definition of Fourier series, Euler's formula, expansion in half range, rebound oscillations, Fourier integral.
Partial derivatives equations: vibratory string, univariate wave equation, method of decomposition of variables, D'Alembert solution of the wave equations, heat propagation equation, univariate wave equation, equation in Cartesian, spherical and polar coordinates, elliptical, parabolic and hyperbolic equations, application of Laplace transformations in solving equations with partial derivatives, solution of partial derivatives using Fourier integrals.
Analytical functions and conformal mapping and complex integrals: limit and continuity, derivative of complex functions, exponential, trigonometric hyperbolic and logarithmic functions, inverse trigonometric and exponential functions with different power, conformal prepositionmapping.
Integral of line on complex plane, Cauchy's integral theorem, calculation of line integral using indefinite integral, Cauchy' formula, Taylor and MacLauren' expansions, integration using residual methods, residuals theorems, calculation of certain real integrals.
Suggested Textbooks:
Computer Architecture
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Digital Circuits(Logic Design)
Description:
Logic design, principles of operation of digital computers, and analysis of major components: arithmetic processing, memory, control and input/output units, instruction pipelining, SIMD and multiprocessor systems.
Suggested Textbooks:

D. A. Patterson and J. L. Hennessey. Computer organization and design. 3rd Edition, Elsevier (Morgan Kaufmann), 2005.

M. Mano. Computer system architecture. 3rd Edition, Prentice Hall, 1992.
Algorithm Design
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Data Structures
Description:
Algorithm analysis and design, heuristics; advanced tree structures; advanced hashing techniques; sorting and searching; graphs, sets. NPCompleteness, Time and Space complexities.
Suggested Textbooks:

J. Kleinberg and E. Tardos. Algorithm Design. Addison Wesley, 2005.

T. Cormen, C. Leiserson, R. Riverst, and C. Stein. Introduction to Algorithms. 3rd Edition, MIT Press, 2009.

U. Manber. Introduction to Algorithms: A Creative Approach. AddisonWesley, 1989.

G. Brassard, P. Bratley. Algorithmics: Theory and Practice. PrenticeHall, 1988.
Computer Aided Design
Credit Hours: 3.0
Lecture Contact Hours: 3 Lab Contact Hours: 0
Prerequisite: Computer Architecture
Description:
Applications of hardware description languages (HDLs) for the design of complex digital systems. Topics include designing and simulating using HDLs, logic synthesis into FPGAs and ASICs, optimization techniques, timing issues, hardware verification, and design for testability.
Suggested Textbooks:

Samir Palnitkar. Verilog HDL: A Guide to Digital Design and Synthesis. 2nd Edition, SunSoft Press, 2003.

S. Brown, J. Rose. FPGA and CPLD Architectures: A Tutorial. IEEE Design and Test of Computers, pp. 4257, 1996.

Altera Data Sheets. available at www.altera.com.

Xilinx Data Sheets. available at www.xilinx.com.

Actel Data Sheets. available at www.actel.com.