Shayan (Sean) Taheri is a resourceful and dynamic self-taught Software Engineer, distinguished by a substantial inventory of technical competencies that span an extensive spectrum of programming languages. His proficiency encompasses prolific languages such as C++, Python, MATLAB, Shell, Dart, Java, JavaScript, C#, TCL, Perl, SQL, HTML, Go, Lisp, and SAS. Moreover, Shayan's expertise extends beyond software development into hardware engineering, where he demonstrates proficiency with languages like Verilog HDL, VHDL, SPICE, and Assembly, utilizing cutting-edge tools such as Synopsys, Cadence, and Xilinx Suites, along with GEM5, Structural Simulation Toolkit (SST), LabVIEW, HTCondor, FabScalar, and SimpleScalar to adeptly navigate complex hardware projects.
Sean leverages a wide array of software engineering tools to maintain project efficiency and innovation, including Visual Studio Code, Flutter, Jupyter, Neo4j, Git, Docker, Jira, Trello, Asana, React, and LaTeX. His deep understanding of artificial intelligence is further exemplified by his mastery of critical software libraries such as TensorFlow, PyTorch, Keras, Scikit-learn, NumPy, OpenCV, and TensorBoard. Committed to ongoing professional development, Shayan continuously enriches his knowledge through literature, keeping abreast of the latest trends and technologies in the field.
This enthusiastic commitment to self-education underpins his expertise, enabling him to adeptly maneuver through challenges and envision solutions with a refined perspective. Shayan’s robust understanding of the complex landscape of software and hardware engineering, fortified through relentless self-driven education and a comprehensive technical skill set, positions him as a formidable asset in the engineering domain. The following list of foundational resources underscores the breadth and depth of his knowledge, fueling his continual growth in this dynamic field.
A common-sense guide to data structures and algorithms level up your core programming skills. Wengrow, J., 2020.
A mathematical introduction to logic. Elsevier. Enderton, H.B., 2001.
A practical guide to adopting the universal verification methodology (UVM). Height, H., 2010.
A verilog HDL primer. Star Galaxy Publishing. Bhasker, J., 1999.
Advanced formal verification. Drechsler, R., 2004.
Advanced Python Programming. Packt Publishing. Nguyen, Q., 2022.
Agile software development. Storber, T., 2010.
Algorithm design. Pearson Education India. Kleinberg, J. and Tardos, E., 2006.
Algorithms for VLSI design automation. John Wiley & Sons, Inc.. Gerez, S.H., 1999.
Algorithms for VLSI physical design automation. Springer Science & Business Media. Sherwani, N.A., 2012.
Applying UML and patterns. Larman, C. 2004.
Architecting software intensive systems A practitioners guide. CRC Press. Lattanze, A.J., 2008.
Artificial intelligence a modern approach. Pearson Education, Inc.. Fourth Edition. Russell, S.J., 2021.
Artificial intelligence a modern approach. Pearson Education, Inc.. Third Edition. Russell, S.J., 2016.
Beginning app development with flutter Create cross-platform mobile apps. Apress. Payne, R., 2019.
Beginning flutter. John Wiley & Sons. Napoli, M.L., 2019.
C How to program. Pearson. Deitel, H.M. and Deitel, P.J., 2004.
C# 11 and NET 7 Modern Cross-Platform Development. Packt Publishing Ltd. Price, M.J., 2021.
C++ Primer. Lippman, S.B., 2013.
C++ programming Program design including data structures. Cengage Learning. Malik, D.S., 2018.
CAD for Hardware Security. Springer International Publishing. Farahmandi, F. 2023.
Clean Architecture A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series). Robert, C., 2019.
CMOS circuit design, layout, and simulation. John Wiley & Sons. Baker, R.J., 2010.
CMOS mixed-signal circuit design. john Wiley & sons. Baker, R.J., 2008.
CMOS VLSI design a circuits and systems perspective. Pearson Education India. Weste, N.H. and Harris, D., 2011.
Common LISP A gentle introduction to symbolic computation. Touretzky, D.S., 2013.
Common Lisp Recipes A Problem-solution Approach. Weitz, E., 2016.
Compilers - Principles, techniques, and tools. pearson Education. Alfred V, A., Monica S, L., Ravi, S. and Jeffrey D, U., 2007.
Computability and logic. Cambridge university press. Boolos, G.S., Burgess, J.P. and Jeffrey, R.C., 2007.
Computer architecture a quantitative approach. Elsevier. Sixth Edition. Hennessy, J.L. and Patterson, D.A., 2019.
Computer Networks A Systems Approach Fifth Edition. Peterson, L. and Davie, B., 2012.
Computer Networks Fifth Edition. Andrew S, Tanenbaum, 2011.
Concepts of programming languages. Massachusetts Addison-Wesley. Sebesta, R.W., Eleventh Edition. 2015
Concepts, techniques, and models of computer programming. MIT press. Van Roy, P. and Haridi, S., 2004.
Dart Apprentice Beyond the Basics. 2022.
Dart Apprentice Fundamentals. 2022.
Dart Up and Running A New, Tool-Friendly Language for Structured Web Apps. Walrath, K. and Ladd, S., 2012.
Data science from scratch first principles with python. O'Reilly Media. Grus, J., 2019.
Database systems design, implementation and management. Cengage learning. Coronel, C. and Morris, S.A., Edition 13. 2017.
Database systems models, languages, design, and application programming. Pearson Education India. Elmasri, R. and Navathe, S.B., 2016.
Deep learning. MIT press. Goodfellow, I., Bengio, Y. and Courville, A., 2016.
Design of analog CMOS integrated circuits. Razavi, B., 2017.
Design patterns elements of reusable object-oriented software. Pearson Deutschland GmbH. Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995.
Digital design and computer architecture. Morgan Kaufmann. Harris, S. and Harris, D., 2015.
Digital systems testing and testable design. Abramouici, M., 1990.
Discrete mathematics and its applications. The McGraw Hill Companies. Rosen, K.H., 2007.
Distributed computing principles, algorithms, and systems. Cambridge University Press. Kshemkalyani, A.D. and Singhal, M., 2008.
Distributed computing. John Wiley & Sons. Attiya, H. and Welch, J., 2004.
Distributed systems (p. 20). Leiden, The Netherlands Maarten van Steen. Van Steen, M. and Tanenbaum, A.S., 2018.
Distributed systems principles and paradigms. Tanenbaum, A.S., 2007.
Effective coding with VHDL principles and best practice. MIT Press. Jasinski, R., 2016.
Enterprise unified process, the extending the rational unified process. Prentice Hall Press. Ambler, S., Nalbone, J. and Vizdos, M., 2005.
Essential Scrum A practical guide to the most popular Agile process. Addison-Wesley. Rubin, K.S., 2013.
Essentials of electronic testing for digital, memory and mixed-signal VLSI circuits. Bushnell, M. and Agrawal, V., 2004.
Essentials of Programming Languages third edition. Daniel, P., 2008.
Expert Python Programming. Packt Publishing Ltd. Jaworski, M. and Ziad , T., 2021.
Financial Software Engineering. Lano, K. and Haughton, H., 2019.
Formal Methods An Appetizer By Flemming Nielson and Hanne Riis Nielson. Springer, 2019.
Formal methods State of the art and future directions. Clarke, E.M. and Wing, J.M., 2018.
Formal specification and documentation using Z. London International Thomson Computer Press. Bowen, J.P., 2003.
Formal verification an essential toolkit for modern VLSI design. Elsevier. Seligman, E., Schubert, T. and Kumar, M.A.K., 2023.
Foundations of quantum programming. Ying, M., 2016.
Fundamental of Software Engineering, Prentice-Hall, NJ, USA. Ghezzi, C., Jazayeri, M. and Mandrioli, D., 2003.
Fundamentals of database systems seventh edition. Elmasri, R., 2021.
Fundamentals of Quantum Programming in IBMs Quantum Computers. Chang, W.L. and Vasilakos, A.V., 2021.
Game Programming in C++ Creating 3D Games. Addison-Wesley Professional. Madhav, S., 2018.
Game programming patterns. Genever Benning. Nystrom, R., 2014.
Game theory 101 the complete textbook. Spaniel, W., 2014.
Game theory an introduction. Princeton university press. Tadelis, S., 2013.
Graph theory with applications to engineering and computer science. Courier Dover Publications. Deo, N., 2017.
Hands-On Quantum Machine Learning With Python - Get started. Zickert, F., 2021.
Hands-On Software Engineering with Python. Packt Publishing Ltd. Allbee, B., 2018.
Hard Real Time Systems, Predictable Scheduling Algorithms and Applications. Buttazzo, G.C., 2011.
Head First Agile A Brain-Friendly Guide to Agile Principles, Ideas, and Real-World Practices. Stellman, A. and Greene, J., 2017.
Head First C# A Learner's Guide to Real-World Programming with C#, XAML, and. NET. Greene, J. and Stellman, A., 2013.
Head First Design Patterns. O'Reilly Media. Freeman, E. and Robson, E., 2021.
Head First Git. O'Reilly Media, Inc. Gandhi, R., 2022.
Head First Go. O'Reilly Media, Incorporated. McGavren, J., 2019.
Head First Html With CSS & XHTML. O'Reilly Media, Inc. Robson, E. and Freeman, E., 2012.
Head First Java A Brain-Friendly Guide. O'Reilly Media, Inc. Sierra, K. and Bates, B., 2022.
Head First JavaScript Programming A Brain-Friendly Guide. Freeman, E. and Robson, E., 2014.
Head First Object-Oriented Analysis and Design A Brain Friendly Guide to OOA&D. McLaughlin, B., Pollice, G. and West, D., 2007.
Head first Python A brain-friendly guide. Barry, P., 2011.
Head first software architecture. Raju Gandhi. 2024.
Head first software development. O'Reilly Media, Inc. Pilone, D. and Miles, R., 2008.
Head First SQL Your Brain on SQL - A Learner's Guide. O'Reilly Media. Beighley, L., 2007.
HTML & CSS design and build websites. Indianapolis, IN, USA Wiley. Duckett, J., 2011.
HTML, XHTML, and CSS Bible. John Wiley & Sons. Schafer, S.M., 2008.
Information technology for management. Wiley Publishing. Turban, E., Volonino, L. and Wood, G.R., 2015.
Introduction to Algorithms. Fourth Edition. Thomas H, C., Charles, E., Ronald L, R. and Clifford, S., 2022.
Introduction to Algorithms. Third Edition. Thomas H, C., Charles, E., Ronald L, R. and Clifford, S., 2009.
Introduction to Automata Theory, Languages, and Computation. Adison. Hopcroft, J.E. and Ullman, J.D., Second Edition. 2001.
Introduction to Automata Theory, Languages, and Computation. Adison. Hopcroft, J.E. and Ullman, J.D., Third Edition. 2006.
Introduction to classical and quantum computing. Wong, T.G., 2022.
Introduction to graph theory. Courier Corporation. Trudeau, R.J., 2013.
Introduction to information systems John Wiley & Sons. Rainer, R.K. and Prince, B., 2020.
Introduction to logic circuits & logic design with VHDL. Springer. LaMeres, B.J., 2019.
Introduction to Quantum Computing with Q# and QDK. Wojcieszyn, F., 2022.
Introduction to software testing. Cambridge University Press. Ammann, P. and Offutt, J., 2008.
Introduction to software testing. Cambridge University Press. Ammann, P. and Offutt, J., 2017.
Introduction to the Theory of Computation. Cengage Learning. International edition. Sipser, M., 2013.
Invitation to computer science. Cengage Learning. Schneider, G.M. and Gersting, J., 2019.
iOS 10 programming fundamentals with Swift. O'Reilly Media, Inc.. Neuburg, M., 2018.
Java How to Program Early Objects. Deitel, P.J. and Deitel, H.M. Ninth Edition. 2012.
Java How to Program Early Objects. Deitel, P.J. and Deitel, H.M. Tenth Edition. 2015.
JavaScript from Beginner to Professional (Vol. 544). Packt Publishing. Svekis, L., van Putten, M. and Percival, R., 2021.
JavaScript The definitive guide. Flannagan, D., 2020.
Learn Python Programming An in-depth introduction to the fundamentals of Python. Packt Publishing Ltd. Romano, F. and Kruger, H., 2021.
Learn Quantum computing with python and IBM Quantum Experience. Loredo, R., 2020.
Learn quantum computing with python and Q#. Kaiser, S.C. and Granade, C., 2021.
Learning Go. Bodner, J., 2021.
Learning SQL Generate, manipulate, and retrieve data. O'Reilly Media. Beaulieu, A., 2020.
Learning the bash shell Unix shell programming. Newham, C., 2009.
Learning Web Design Fourth Edition. Robbins, J.N., 2021.
Lessons learned in software testing. John Wiley & Sons. Kaner, C., Bach, J. and Pettichord, B., 2008.
Linux command line and shell scripting bible. Blum, R., 2008.
Logic and structure. Berlin Springer. Van Dalen, D. and van Dalen, D., 2008.
Logic in Computer Science Modelling and reasoning about systems. Huth, M. and Ryan, M., 2004.
Logic programming with Prolog. Bramer, M.A., 2013.
Machine Learning Applications in Electronic Design Automation. Springer International Publishing AG. Ren, H. and Hu, J. eds., 2022.
Mastering Linux Security and Hardening. Packt Publishing Ltd. Tevault, D.A., 2023.
Mastering Quantum Computing with IBM QX. Moran, C.C., 2019.
Matlab a practical introduction to programming and problem solving. Butterworth-Heinemann. Attaway, D.C., 2019.
MATLAB for Engineers. Moore, H., 2015.
Microelectronic Circuits 8th Edition. Sedra, A., Smith, K.C., Carusone, T.C. and Gaudet, V., 2020.
Modern C++ Programming Cookbook. Packt Publishing Ltd. Bancila, M., 2017.
Modern Computer Architecture and Organization. Packt Publishing Ltd. Ledin, J. and Farley, D., 2022.
Modern VLSI Design IP-Based Design. Pearson Education. Wolf, W., 2009.
Multiagent systems Algorithmic, game-theoretic, and logical foundations. Shoham, Y. and Leyton-Brown, K., 2008.
Networking Fundamentals. Packt Publishing Ltd. Davies, G., 2019.
Object-oriented analysis and design with applications. ABooch, G., Maksimchuk, R.A., Engle, M.W., Young, B.J., Connallen, J. and Houston, K.A., 2007.
Object-Oriented and Classical Software Engineering Eighth Edition. Schach, S.R., 2007.
Operating Systems Concepts. Abraham Silberschatz; Peter Baer Galvin; Greg Gagne (No. 005.12 S719o.). 2018.
Operating systems Three easy pieces. Arpaci-Dusseau Books, LLC. Arpaci-Dusseau, R.H. and Arpaci-Dusseau, A.C., 2014.
Parallel programming with Python. Packt Publishing Ltd. Palach, J., 2014.
Pattern recognition and machine learning. New York springer. Bishop, C.M. and Nasrabadi, N.M., 2006.
Pattern-Oriented Software Architecture. John wiley & sons. Buschmann, F., Henney, K. and Schimdt, D., 2007.
Practical data science with Python. George, N., 2021.
Principles of program analysis. Springer. Nielson, F., Nielson, H.R. and Hankin, C., 2005.
Programming Algorithms in Lisp. Domkin, V., 2021.
Programming from specifications. Prentice-Hall, Inc.. Morgan, C., 1998.
Programming Perl Unmatched power for text processing and scripting. Christiansen, T., Wall, L. and Orwant, J., 2012.
Programming quantum computers. Johnston, E.R., Harrigan, N. and Gimeno-Segovia, M., 2019.
Python crash course A hands-on, project-based introduction to programming. Matthes, E., 2019.
Python Object-Oriented Programming. Packt Publishing Ltd. Lott, S.F. and Phillips, D., 2021.
Python parallel programming cookbook. Packt Publishing Ltd. Zaccone, G., 2015.
Python web development with Django. Addison-Wesley Professional. Forcier, J., Bissex, P. and Chun, W.J., 2009.
Qiskit Pocket Guide. Weaver, J.L. and Harkins, F.J., 2021.
Quantum computer science an introduction. Mermin, N.D., 2007.
Quantum computing an applied approach. Hidary, J.D. and Hidary, J.D., 2019.
Quantum computing for everyone. Bernhardt, C., 2019.
Quantum computing for programmers. Hundt, R., 2022.
Quantum computing for the quantum curious. Hughes, C., Isaacson, J., Perry, A., Sun, R.F. and Turner, J., 2021.
Quantum Computing with Silq Programming. Ganguly, S. and Cambier, T., 2021.
Quantum Machine Learning with Python Using Cirq from Google Research and IBM Qiskit. Pattanayak, S., 2021.
Quantum Software Engineering. Serrano, M.A., Perez-Castillo, R. and Piattini, M. eds., 2022.
Real-time systems design and analysis. New York Wiley. Laplante, P.A., 2012.
Real-time systems. Prentice Hall PTR. Liu, J.W., 2000.
Requirements engineering From system goals to UML models to software (Vol. 10, p. 34). Chichester, UK John Wiley & Sons. Van Lamsweerde, A., 2009.
Software & systems requirements engineering in practice. McGraw-Hill Education. Berenbach, B., Paulish, D.J., Kazmeier, J. and Rudorfer, A., 2009.
Software Architecture in Practice Third Edition. Kazman, L.B.P.C.R., 2013.
Software Engineering - Principles and Practice By Hans van Vliet - Wiley 2007
Software engineering a practitioner's approach. Palgrave macmillan. Pressman, R.S., 2015.
Software engineering best practices. McGraw-Hill Education. Jones, C., 2010.
Software engineering modern approaches. Waveland Press. Braude, E.J. and Bernstein, M.E., 2016.
Software Engineering Theory and Practice by Shari. Pfleeger, L. and Atlee, J.M., Fourth Edition. 2010.
Software Engineering, Tenth Edition. Pearson Education India. Sommerville, I., 2011.
Software engineering. America Pearson Education Inc. Sommerville, I., 2011.
Software evolution and maintenance a practitioner's approach. John Wiley & Sons. Tripathy, P. and Naik, K., 2014.
Software Evolution. Springer. Demeyer, S. and Mens, T., 2008.
Software security engineering a guide for project managers. Addison-Wesley Professional. Mead, N.R., Allen, J.H., Barnum, S., Ellison, R.J. and McGraw, G.R., 2008.
Software testing. Pearson Education India. Patton, R., 2006.
Software testing. Singh. 2012.
Software verification and analysis An integrated, hands-on approach. Laski, J. and Stanley, W., 2009.
System Analysis and Design Methods. Whitten Jeffrey, L., Bentley, L.D. and Dittman, K.C., 2007.
SystemVerilog for Design Second Edition. Springer Science & Business Media. Sutherland, S., Davidmann, S. and Flake, P., 2006.
SystemVerilog for verification a guide to learning the testbench language features. Springer Science & Business Media. Spear, C., 2006.
SystemVerilog for verification a guide to learning the testbench language features. Springer Science & Business Media. Spear, C., 2008.
TCLTK in a nutshell a desktop quick reference. Raines, P. and Tranter, J., 1999.
The art of assembly language. Hyde, R., 2010.
The art of software testing. Chichester John Wiley & Sons. Myers, G.J., Badgett, T., Thomas, T.M. and Sandler, C., 2012.
The busy coder's guide to Android development. United States CommonsWare. Murphy, M.L., 2019.
The C++ Programming Language Fourth Edition. Stroustrup, B., 2013.
The Design and Analysis of Algorithms. Levitin, A. Third Edition. 2012.
The designer's guide to VHDL. Morgan kaufmann. Ashenden, P.J., 2010.
The Go programming language. Addison-Wesley Professional. Donovan, A.A. and Kernighan, B.W., 2015.
The mythical man-month essays on software engineering. Pearson Education. Brooks Jr, F.P., 1995.
Universal Verification Methodology (UVM) 1.2 User s Guide. Accellera Systems Initiative Elk Grove, CA, USA. Initiative, A.S., 2015.
Unix and Shell Programming. Harwani, B.M., 2013.
Using Z Specification Refinement and Proof. Woodcock, J. and Davies, J., 1996.
Verilog by example a concise introduction for FPGA design. Readler, B.C., 2011.
Verilog HDL a guide to digital design and synthesis. Prentice Hall Professional. Palnitkar, S., 2003.
VLSI memory chip design. Itoh, K., 2001.
VLSI physical design automation theory and practice. Sait, S.M. and Youssef, H., 1999.
VLSI test principles and architectures design for testability. Wang, L.T., Wu, C.W. and Wen, X., 2006.
Personal Certifications: For detailed information regarding Sean's certifications, please download and refer to the "Certifications" file.